Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Day

Date (2013)

Topic

Slides

Audio (Panopto)

Code Examples

Homework Assigned

Homework Due

1

Mon

Jan 7

Lecture 1: The What and Why of Parallel Programming

 

 

 

 

 

2

Wed

Jan 9

Lecture 2: Async-Finish Parallel Programming and Computation Graphs

 

  

 

 

3

Fri

Jan 11

Lecture 3: Computation Graphs, Abstract Performance Metrics, Array Reductions

     

4

Mon

Jan 14

Lecture 4: Parallel Speedup, Efficiency, Amdahl's Law

     

5

Wed

Jan 16

Lecture 5: Data & Control Flow with Async Tasks, Data Races

     

6

Fri

Jan 18

Lecture 6: Memory Models, Atomic Variables

     

-

Mon

Jan 21

School Holiday

     

7

Wed

Jan 23

Lecture 7: Memory Models (contd), Futures --- Tasks with Return Values

     

8

Fri

Jan 25

Lecture 8: Futures (contd), Dataflow Programming, Data-Driven Tasks

     

9

Mon

Jan 28

Lecture 9: Abstract vs. Real Performance, seq clause, forasync loops

     

10

Wed

Jan 30

Lecture 10: Forasync Chunking, Parallel Prefix Sum algorithm

     

11

Fri

Feb 1

Lecture 11: Parallel Prefix Sum (contd), Parallel Quicksort

     

12

Mon

Feb 04

Lecture 12: Finish Accumulators, Forall Loops and Barrier Synchronization

     

13

Wed

Feb 06

Lecture 13: Forall Loops and Barrier Synchronization (contd)

     

14

Fri

Feb 08

Lecture 14: Point-to-point Synchronization and Phasers

     

15

Mon

Feb 11

Lecture 15: Phaser Accumulators, Bounded Phasers

     

16

Wed

Feb 13

Lecture 16: Summary of Barriers and Phasers

     

17

Fri

Feb 15

Lecture 17: Task Affinity with Places

     

18

Mon

Feb 18

Lecture 18: Task Affinity with Places (contd)

     

19

Wed

Feb 20

Lecture 19: Midterm Summary

     

-

F

Feb 22

No Lecture (Take-home Exam 1 due by 4pm today)

     

-

M-F

Feb 25- Mar 01

Spring Break

 

 

 

 

 

20

Mon

Mar 04

Lecture 20: Critical sections and the Isolated statement

    

 

21

Wed

Mar 06

Lecture 21: Isolated statement (contd), Monitors, Actors

    

 

22

Fri

Mar 08

Lecture 22: Actors (contd)

    

 

23

Mon

Mar 11

Lecture 23: Linearizability of Concurrent Objects

  

 

 

 

24

Wed

Mar 13

Lecture 24: Linearizability of Concurrent Objects (contd)

   

 

 

25

Fri

Mar 15

Lecture 25: Safety and Liveness Properties

  

 

 

 

26

Mon

Mar 18

Lecture 26: Parallel Programming Patterns

  

 

 

 

27

Wed

Mar 20

Lecture 27: Introduction to Java Threads

    

 

28

Fri

Mar 22

Lecture 28: Bitonic Sort (guest lecture by Prof. John Mellor-Crummey)

  

 

 

 

29

Mon

Mar 25

Lecture 29: Java Threads (contd), Java synchronized statement

  

 

 

 

30

Wed

Mar 27

Lecture 30: Java synchronized statement (contd), advanced locking

  

 

 

 

-

Fri

Mar 29

Midterm Recess

     

31

Mon

Apr 01

Lecture 31: Java Executors and Synchronizers

   

 

 

32

Wed

Apr 03

Lecture 32: Volatile Variables and Java Memory Model

  

 

 

 

33

Fri

Apr 05

Lecture 33: Message Passing Interface (MPI)

  

 

 

 

34

Mon

Apr 08

Lecture 34: Message Passing Interface (MPI, contd)

    

 

35

Wed

Apr 10

Lecture 35: Cloud Computing, Map Reduce

  

 

 

 

36

Fri

Apr 12

Lecture 36: Map Reduce (contd)

  

 

 

 

37

Mon

Apr 15

Lecture 37: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri)

  

 

 

 

38

Wed

Apr 17

Lecture 38: Comparison of Parallel Programming Models

  

 

 

 

39

Fri

Apr 19

Lecture 39: Course Review

     

-

Fri

Apr 25

Exam 2 due

 

 

 

 

 

...