Versions Compared

Key

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

...

 

Day

Date (2012)

Topic

Slides

Audio (Panopto)

Code Examples

Handouts

Homework Assigned

Homework Due

1

Mon

Jan 9

Lecture 1: The What and Why of Parallel Programming

lec1-slides

 

ArraySum0.hj

 

HW1 (Written Assignment)

 

2

Wed

Jan 11

Lecture 2: Async-Finish Parallel Programming and Computation Graphs

lec2-slides

lec2-audio

PrimeSieve.hj

 

 

 

3

Fri

Jan 13

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

lec3-slides

lec3-audio

ArraySum1.hj

 

HW2 (Programming Assignment)

HW1

-

Mon

Jan 16

School Holiday

 

 

 

 

 

 

4

Wed

Jan 18

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

lec4-slides

lec4-audio

 

 

 

 

5

Fri

Jan 20

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

lec5-slides

 lec5-audio

 

 

 

 

6

Mon

Jan 23

Lecture 6: Finish Accumulators, Futures

 

 

 

 

 

 

7

Wed

Jan 25

Lecture 7: Parallel Prefix Sum, Forall parallel loops

 

 

 

 

 

 

8

Fri

Jan 27

Lecture 8: Parallel Quicksort

 

 

 

 

 

 

9

Mon

Jan 30

Lecture 9: PRAM model, Amdahl's Law

 

 

 

 

HW3

HW2

10

Wed

Feb 01

Lecture 10: Critical sections and the Isolated statement

 

 

 

 

 

 

11

Fri

Feb 03

Lecture 11: Abstract vs Real Performance, Work-sharing & Work-stealing schedulers

 

 

 

 

 

 

12

Mon

Feb 06

Lecture 12: Barrier Synchronization in Forall Loops

 

 

 

 

 

 

13

Wed

Feb 08

Lecture 13: Barrier Synchronization in Forall Loops (contd)

 

 

 

 

HW4

HW3

14

Fri

Feb 10

Lecture 14: Point-to-point Synchronization and Phasers

 

 

 

 

 

 

15

Mon

Feb 13

Lecture 15: Point-to-point Synchronization and Phasers (contd)

 

 

 

 

 

 

16

Wed

Feb 15

Lecture 16: Advanced Phaser topics

 

 

 

 

 

 

17

Fri

Feb 17

Lecture 17: Dataflow Programming and Data-Driven Futures

 

 

 

 

 

 

18

Mon

Feb 20

Lecture 18: Dataflow Programming and Data-Driven Futures, contd.

 

 

 

 

 

 

19

Wed

Feb 22

Lecture 19: Midterm Summary

 

 

 

 

 

HW4

-

Fri

Feb 24

Exam 1 (in class)

 

 

 

 

 

 

-

M-F

Feb 27 - Mar 02

Spring Break

 

 

 

 

 

 

20

Mon

Mar 05

Lecture 20: Java Atomic Variables

 

 

 

 

HW5

 

21

Wed

Mar 07

Lecture 21: Java Concurrent Collections

 

 

 

 

 

 

22

Fri

Mar 09

Lecture 22: Linearizability of Concurrent Objects

 

 

 

 

 

 

23

Mon

Mar 12

Lecture 23: Task Affinity with Places

 

 

 

 

 

 

24

Wed

Mar 14

Lecture 24: Task Affinity with Places, contd.

 

 

 

 

 

 

25

Fri

Mar 16

Lecture 25: Map Reduce

 

 

 

 

 

 

26

Mon

Mar 19

Lecture 26: Map Reduce, contd.

 

 

 

 

 

HW5

27

Wed

Mar 21

Lecture 27: Dataflow Programming with Intel Concurrent Collections

 

 

 

 

HW6

 

-

Fri

Mar 23

Midterm Recess

 

 

 

 

 

 

28

Mon

Mar 26

Lecture 28: Java Threads

 

 

 

 

 

 

29

Wed

Mar 28

Lecture 29: Java Threads (contd), synchronized statement

 

 

 

 

 

 

30

Fri

Mar 30

Lecture 30: Java synchronized statement with wait/notify

 

 

 

 

 

 

31

Mon

Apr 02

Lecture 31: Advanced locking in Java

 

 

 

 

 

 

32

Wed

Apr 04

Lecture 32: Java Executors and Synchronizers

 

 

 

 

 

HW6

33

Fri

Apr 06

Lecture 33: Volatile Variables and Java Memory Model

 

 

 

 

HW7

 

34

Mon

Apr 09

Lecture 34: GPGPU programming with CUDA

 

 

 

 

 

 

35

Wed

Apr 11

Lecture 35: CUDA contd.

 

 

 

 

 

 

36

Fri

Apr 13

Lecture 36: Liveness and Progress Guarantees

 

 

 

 

 

 

37

Mon

Apr 16

Lecture 37: Introduction to MPI

 

 

 

 

 

 

38

Wed

Apr 18

Lecture 38: Introduction to MPI (contd)

 

 

 

 

 

 

39

Fri

Apr 20

Lecture 39: Course Summary

 

 

 

 

Exam 2 (Take-home)

HW7

-

Fri

Apr 27

Exam 2 due

 

 

 

 

 

Exam 2

...