...
| 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 |
|
|
| ||||
2 | Wed | Jan 11 | Lecture 2: Async-Finish Parallel Programming and Computation Graphs |
|
|
| ||||
3 | Fri | Jan 13 | Lecture 3: Computation Graphs, Abstract Performance Metrics, Array Reductions |
| HW1 | |||||
- | Mon | Jan 16 | School Holiday |
|
|
|
|
|
| |
4 | Wed | Jan 18 | Lecture 4: Parallel Speedup, Efficiency, Amdahl's Law |
|
|
|
| |||
5 | Fri | Jan 20 | Lecture 5: Data & Control Flow with Async Tasks, Data Races | (See Lab 3) |
|
|
| |||
6 | Mon | Jan 23 | Lecture 6: Memory Models, Atomic Variables | (See Lab 3) |
|
|
| |||
7 | Wed | Jan 25 | Lecture 7: Memory Models (contd), Futures --- Tasks with Return Values |
|
|
| ||||
8 | Fri | Jan 27 | Lecture 8: Futures (contd), Dataflow Programming, Data-Driven Tasks |
|
|
| ||||
9 | Mon | Jan 30 | Lecture 9: Abstract vs. Real Performance, seq clause, forasync loops |
|
| HW2 | ||||
10 | Wed | Feb 01 | Lecture 10: Forasync Chunking, Parallel Prefix Sum algorithm |
|
| |||||
11 | Fri | Feb 03 | Lecture 11: Parallel Prefix Sum (contd), Parallel Quicksort |
|
|
| ||||
12 | Mon | Feb 06 | Lecture 12: Finish Accumulators, Forall Loops and Barrier Synchronization |
|
|
|
| |||
13 | Wed | Feb 08 | Lecture 13: Forall Loops and Barrier Synchronization (contd) | [OneDimAveraging.h |
|
|
|
| ||
14 | Fri | Feb 10 | ^OneDimAveraging.hj]j | | lec14-audio | [OneDimAveraging.h |
|
|
|
| ||
15 | Mon | Feb 13 | ^OneDimAveraging.hj]j |
|
|
|
|
|
| |
16 | Wed | Feb 15 | Lecture 16: Advanced Phaser topics | | | | | | |
|
|
|
|
|
| |
17 | Fri | Feb 17 | || |
|
|
|
|
|
| |
18 | Mon | Feb 20 | | | | | | | || |
|
|
|
|
|
| |
19 | Wed | Feb 22 | | | | | | | || |
|
|
|
|
| HW3 | |
- | Fri | Feb 24 | || |
|
|
|
|
|
| |
- | | | | | | | || | Feb 27 - Mar 02 | Spring Break | | | | | | || | Spring Break |
|
|
|
|
|
| |
20 | Mon | Mar 05 | || 20 | Mon | Mar 05 | Lecture 20: Critical sections and the Isolated statement |
|
|
|
| HW4 |
| |
21 | Wed | Mar 07 | | | | | | HW4 | || |
|
|
|
|
|
| |
22 | Fri | Mar 09 | | |
|
|
|
|
|
| |
23 | Mon | Mar 12 | | | | | | | || |
|
|
|
|
|
| |
24 | Wed | Mar 14 | | 24 | Wed | Mar 14 | Lecture 24: Task Affinity with Places, contd. |
|
|
|
|
|
| |
25 | Fri | Mar 16 | | | | | | | || |
|
|
|
|
|
| |
26 | Mon | Mar 19 | | | | | | | || |
|
|
|
|
| HW4 | |
27 | Wed | Mar 21 | || 27 | Wed | Mar 21 | Lecture 27: Dataflow Programming with Intel Concurrent Collections | | | | | HW5 | || |
|
|
|
| HW5 |
| |
- | Fri | Mar 23 | Midterm Recess |
|
|
|
|
|
| |
28 | Mon | Mar 26 | Lecture 28: Java Threads |
|
|
|
|
|
| |
29 | Wed | Mar 28 | | Mar 26 | Lecture 28: Java Threads | | | | | | || |
|
|
|
|
|
| |
30 | Fri | Mar 30 | | 30 | Fri | Mar 30 | Lecture 30: Java synchronized statement with wait/notify |
|
|
|
|
|
| |
31 | Mon | Apr 02 | | | | | | | || |
|
|
|
|
|
| |
32 | Wed | Apr 04 | | |
|
|
|
|
| HW5 | |
33 | Fri | Apr 06 | || |
|
|
|
| HW6 |
| |
34 | Mon | Apr 09 | | | | | | HW6 | || |
|
|
|
|
|
| |
35 | Wed | Apr 11 | | | | | | | || |
|
|
|
|
|
| |
36 | Fri | Apr 13 | | |
|
|
|
|
|
| |
37 | Mon | Apr 16 | | | | | | | || |
|
|
|
|
|
| |
38 | Wed | Apr 18 | || 38 | Wed | Apr 18 | Lecture 38: Introduction to MPI (contd) | |
|
|
|
|
|
| |
39 | Fri | Apr 20 | | | | | | || |
|
|
|
| | | | | | Exam 2 (Take-home) | | HW6 || || | |
- | | Fri | | Apr 27 | | Exam 2 due | | | | | | Exam 2 || |
|
|
|
|
| Exam 2 |
Lab Schedule
Lab # | || Date (2011) | || Topic | || Handouts | || Code Examples | || Solutions | |||| | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | | Jan 10, 11, 12 | | DrHJ setup, Async-Finish Parallel Programming | | |||||||||
2 | || | Abstract performance metrics with async & finish | | | Search.hj | || | |||||||
3 | | Jan 23, 25, 26 | | Data race detection and repair | | RacyArraySum1.hj, RacyFib.hj, RacyNQueens.hj, RacyFannkuch.hj |
| |||||||
4 | | || | Real performance, work-sharing and work-stealing runtimes, futures | | | nqueens.hj, ArraySum2.hj | || | |||||||
5 | | Feb 07, 08, 09 | | Data-driven futures | | MatrixEval.hj, test0.txt, test.txt, DDFEx.hj | ||||||||
6 | || | Barriers and Phasers |
|
|
| ||||||
- | | | | || | No lab (midterm week) |
|
|
| ||||||
7 | | | | || | Atomic Variables |
|
|
| ||||||
8 | | | | || | Places |
|
|
| ||||||
9 | | | | || | Data Driven Tasks |
|
|
| ||||||
10 | | | | || | Java Concurrency I |
|
|
| ||||||
11 | | | | || | Java Concurrency II |
|
|
| ||||||
12 | | | | || | CUDA |
|
|
| ||||||
13 | | | | || | MPI |
|
|
|
Grading, Honor Code Policy, Processes and Procedures
Grading will be based on your performance on homeworks (worth 50%) and exams (20% for first exam, and 30% for the second exam).
The purpose of the homeworks is to train you to solve problems and to help deepen your understanding of concepts introduced in class. Homeworks and programming assignments are due on the dates and times specified in the course schedule. Please turn in all your homeworks using the CLEAR turn-in system. Homework is worth full credit when turned in on time. A 10% penalty per day will be levied on late homeworks, up to a maximum of 6 days. No submissions will be accepted more than 6 days after the due date.
...