...
| Day | Date (2012) | Topic | Handouts | Slides | Homework Assigned | Homework Due | ||
---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 9 | Lecture 1: The What and Why of Parallel Programming |
|
| ||||
2 | Wed | Jan 11 | Lecture 2: Task Creation & Termination using Async & Finish |
|
|
| |||
3 | Fri | Jan 13 | Lecture 3: Computation Graphs, Abstract Performance Metrics | lec3-handout |
| HW1 | |||
- | Mon | Jan 16 | School Holiday |
|
|
|
| ||
4 | Wed | Jan 18 | Lecture 4: Futures --- Tasks with Return Values |
|
| ||||
5 | Fri | Jan 20 | Lecture 5: Parallel Array Sum and Array Reductions |
| HW2 | ||||
6 | Mon | Jan 23 | Lecture 6: Data Races and How to Avoid Them | HW3 (Programming Assignment) |
| ||||
7 | Wed | Jan 25 | Lecture 7: Parallel Prefix Sum, Forall parallel loops |
|
|
| |||
8 | Fri | Jan 27 | Lecture 8: Parallel Quicksort | lec8-handout |
|
|
| ||
9 | Mon | Jan 30 | Lecture 9: PRAM model, Amdahl's Law |
|
|
| |||
10 | Wed | Feb 01 | Lecture 10: Critical sections and the Isolated statement | lec10-handout |
|
|
| ||
- | Fri | Feb 03 | No Lecture, School closed due to inclement weather |
|
|
|
| ||
11 | Mon | Feb 06 | Lecture 11: Abstract vs Real Performance, Work-sharing & Work-stealing schedulers lec11-handout |
| HW3 | ||||
12 | Wed | Feb 08 | Lecture 12: Barrier Synchronization in Forall Loops |
| |||||
13 | Fri | Feb 10 | Lecture 13: Barrier Synchronization in Forall Loops (contd) |
|
| ||||
14 | Mon | Feb 13 | Lecture 14: Point-to-point Synchronization and Phasers |
|
| ||||
15 | Wed | Feb 15 | Lecture 15: Point-to-point Synchronization and Phasers (contd) |
| HW4 | ||||
16 | Fri | Feb 17 | Lecture 16: Guest Lecture on Bitonic Sort (John Mellor-Crummey) |
|
|
| |||
17 | Mon | Feb 20 | Lecture 17: Advanced Phaser topics |
|
| ||||
18 | Wed | Feb 22 | Lecture 18: Midterm Summary |
| Midterm Exam (Take-home) |
| |||
- | Fri | Feb 24 | No lecture, Midterm Exam due today |
|
|
| Midterm Exam (Take-home) | ||
- | M-F | Feb 27 - Mar 02 | Spring Break |
|
|
| |||
19 | Mon | Mar 05 | Lecture 19: Java Atomic Variables |
|
| ||||
20 | Wed | Mar 07 | Lecture 20: Java Concurrent Collections |
|
| ||||
21 | Fri | Mar 09 | Lecture 21: Linearizability of Concurrent Objects |
| |||||
22 | Mon | Mar 12 | Lecture 22: Task Affinity with Places | ||||||
23 | Wed | Mar 14 | Lecture 23: Task Affinity with Places, contd. |
|
| ||||
24 | Fri | Mar 16 | Lecture 24: Map Reduce |
| |||||
25 | Mon | Mar 19 | Lecture 25: Dataflow Programming and Data-Driven Futures | HW5 | |||||
26 | Wed | Mar 21 | Lecture 26: Dataflow Programming with Intel Concurrent Collections |
| |||||
- | Fri | Mar 23 | Midterm Recess |
|
|
|
| ||
27 | Mon | Mar 26 | Lecture 27: Java Threads |
|
| ||||
28 | Wed | Mar 28 | Lecture 28: Java Threads (contd), synchronized statement |
|
|
| |||
29 | Fri | Mar 30 | Lecture 29: Java synchronized statement with wait/notify |
|
|
| |||
30 | Mon | Apr 02 | Lecture 30: Advanced locking in Java |
| |||||
31 | Wed | Apr 04 | Lecture 31: Java Executors and Synchronizers |
| HW6 | ||||
32 | Fri | Apr 06 | Lecture 32: Volatile Variables and Java Memory Model |
|
| ||||
33 | Mon | Apr 09 | Lecture 33: GPGPU programming with CUDA |
|
| ||||
34 | Wed | Apr 11 | Lecture 34: CUDA contd. |
|
|
| |||
35 | Fri | Apr 13 | Lecture 35: Liveness and Progress Guarantees |
|
|
| |||
36 | Mon | Apr 16 | Lecture 36: Introduction to MPI |
|
|
| |||
37 | Wed | Apr 18 | Lecture 37: Introduction to MPI (contd) |
|
|
| |||
38 | Fri | Apr 20 | Lecture 38: Course Summary |
| Final Exam (Take-home) | HW7 | |||
- | Fri | Apr 27 |
|
|
|
| Final Exam (Take-home) |
...