Versions Compared

Key

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

...

 

Day

Date (2011)

Topic

Handouts

Slides

Homework Assigned

Homework Due

1

Mon

Jan 10

Lecture 1: The What and Why of Parallel Programming

lec1-handout

lec1-slides

HW1 (Written Assignment)

 

2

Wed

Jan 12

Lecture 2: Task Creation & Termination using Async & Finish

lec2-handout

lec2-slides

 

 

3

Fri

Jan 14

Lecture 3: Computation Graphs, Abstract Performance Metrics

lec3-handout
(rev 1/14/2011)

lec3-slides

HW2 (Written Assignment)

HW1

-

Mon

Jan 17

School Holiday

 

 

 

 

4

Wed

Jan 19

Lecture 4: Futures --- Tasks with Return Values

lec4-handout

lec4-slides

 

 

5

Fri

Jan 21

Lecture 5: Parallel Array Sum and Array Reductions

lec5-handout

 

HW3 (Programming Assignment)  

HW2

6

Mon

Jan 24

Lecture 6: Data Races and How to Avoid Them

 

  

HW3 (Programming Assignment)

 

7

Wed

Jan 26

Lecture 7: Parallel Quicksort, Parallel Prefix Sum

 

 

 

 

8

Fri

Jan 28

Lecture 8: PRAM model, Amdahl's Law

 

 

 

 

9

Mon

Jan 31

Lecture 9: Forall parallel loops, Data parallelism

 

 

 

 

10

Wed

Feb 02

Lecture 10: Critical sections and the Isolated statement

 

 

 

 

11

Fri

Feb 04

Lecture 11: Overheads --- from Abstract Performance to Real Performance

 

 

HW4 (Written Assignment)

HW3  

12

Mon

Feb 07

Lecture 12: Java Atomic Variables

 

 

  

HW3

13

Wed

Feb 09

Lecture 13: Guest Lecture (John Mellor-Crummey)

 

 

 

 

14

Fri

Feb 11

Lecture 14: Guest Lecture (John Mellor-Crummey)

 

 

 

 

15

Mon

Feb 14

Lecture 15: Barrier Synchronization (Phasers I)

 

 

 

 

16

Wed

Feb 16

Lecture 16: Split-phase Barriers (Phasers II)

 

 

 

 

17

Fri

Feb 18

Lecture 17: Point-to-point Synchronization (Phasers III)

 

 

 

HW4

18

Mon

Feb 21

Lecture 18: Successive Over Relaxation case study

 

 

 

 

19

Wed

Feb 23

Lecture 19: Midterm Summary

 

 

Midterm Exam (Take-home)

 

-

Fri

Feb 25

No lecture, Exam1 due today

 

 

HW5 (Written Assignment)

Midterm Exam (Take-home)

-

M-F

Feb 28 - Mar 04

Spring Break

 

 

 

 

20

Mon

Mar 07

Lecture 20: Map Reduce

 

 

 

 

21

Wed

Mar 09

Lecture 21: Generalized Scan

 

 

 

 

22

Fri

Mar 11

Lecture 22: Task Affinity with Places

 

 

HW6 (Programming Assignment)

HW5

23

Mon

Mar 14

Lecture 23: Task Affinity with Places, contd.

 

 

 

 

24

Wed

Mar 16

Lecture 24: Bounded Buffers

 

 

 

 

25

Fri

Mar 18

Lecture 25: Java Concurrent Collections

 

 

 

 

26

Mon

Mar 21

Lecture 26: Data Flow Programming

 

 

 

 

27

Wed

Mar 23

Lecture 27: Data Flow Programming, contd

 

 

 

 

-

Fri

Mar 25

Midterm Recess

 

 

 

 

28

Mon

Mar 28

Lecture 28: Java Threads

 

 

 

 

29

Wed

Mar 30

Lecture 29: GUI Applications

 

 

 

 

30

Fri

Apr 01

Lecture 30: Java Executors

 

 

HW7 (Programming Assignment)

HW6

31

Mon

Apr 04

Lecture 31: Java Locks & Conditions

 

 

 

 

32

Wed

Apr 06

Lecture 32: Java Synchronizers

 

 

 

 

33

Fri

Apr 08

Lecture 33: Deadlock, Livelock, Liveness

 

 

 

 

34

Mon

Apr 11

Lecture 34: Java Memory Model and Volatile Variables

 

 

 

 

35

Wed

Apr 13

Lecture 35: GPGPU programming with CUDA

 

 

 

 

36

Fri

Apr 15

Lecture 36: CUDA contd.

 

 

 

 

37

Mon

Apr 18

Lecture 37: Distributed-memory programming with MPI

 

 

 

 

38

Wed

Apr 20

Lecture 38: MPI contd.

 

 

 

 

39

Fri

Apr 22

Lecture 39: Course Summary

 

 

Final Exam (Take-home)

HW7

-

Fri

Apr 29

 

 

 

 

Final Exam (Take-home)

...