...
| Day | Date(2009) | Topic | Handouts | Slides | Homework Assigned | Homework Due | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 10 | Lecture 1: The What and Why of Parallel Programming |
| HW1 (Written Assignment) |
| |||||||||
2 | Wed | Jan 12 | Lecture 2: Task Creation & Termination using Async & Finish |
|
|
|
| ||||||||
3 | Fri | Jan 14 | Lecture 3: Computation Graphs, Abstract Performance Metrics |
|
| HW2 (Written Assignment) | HW1 | ||||||||
- | Mon | Jan 17 | School Holiday |
|
|
|
| ||||||||
4 | Wed | Jan 19 | Lecture 4: Futures --- Tasks with Return Values |
|
|
|
| ||||||||
5 | Fri | Jan 21 | Lecture 5: Parallel Array Sum, Parallel Quicksort |
|
| HW3 (Programming Assignment) | HW2 | ||||||||
6 | Mon | Jan 24 | Lecture 6: Data Races and How to Avoid Them |
|
|
|
| ||||||||
7 | Wed | Jan 26 | Lecture 7: Parallel Prefix Sum |
|
|
|
| ||||||||
8 | Fri | Jan 28 | Lecture 8: Scheduling Theory, Amdahl's Law |
|
|
|
| ||||||||
9 | Mon | Jan 31 | Lecture 9: Forall parallel loops, Data parallelism |
|
|
|
| ||||||||
10 | Wed | Feb 02 | Lecture 10: Parallel algorithms using forall |
|
|
|
| ||||||||
11 | Fri | Feb 04 | Lecture 11: Critical sections and the Isolated statements |
|
| HW4 (Written Assignment) | HW3 | ||||||||
12 | Mon | Feb 07 | Lecture 12: Java Atomic Variables |
|
|
|
| ||||||||
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 |
|
|
| HW7 | - | Wed | Apr 27 |
|
|
| Final Exam (Take-home) | HW7 |
- | Wed Fri | May 04 Apr 29 |
|
|
|
| Final Exam (Take-home) |
...