...
| Day | Date (2012) | Topic | Slides | Audio (Panopto) | Code Examples | Assignment | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Module 1: Deterministic Shared-Memory Parallelism | ||||||||||||||||||||||||||
1 | Wed | Sep 05 | Lecture 1: Introduction, Async-Finish Parallel Programming, Computation Graphs, Abstract Performance Metrics, Amdahl's Law, Weak vs. Strong ScalingParallel Array Sum | lec1-audio | HW0 (due by 11:59pm on Tuesday, Sep 11th) | |||||||||||||||||||||
2 | Mon | Sep 10 | Lecture 2: Data Races and Determinism, Finish Accumulators, Futures (Tasks with Return Values), Dataflow Programming, Data-Driven Tasks, Deadlock |
|
| Parallel Array Sum (contd), Amdahl's Law, Weak vs. Strong Scaling, Data Races and Determinism | lec2-audio |
| ||||||||||||||||||
3 | Wed | Sep 12 | Lecture 3: Abstract vs. Real Performance, Seq clause, Forall Loops, Loop Chunking, Barrier Synchronization |
| Finish Accumulators, Futures (Tasks with Return Values), Dataflow Programming, Data-Driven Tasks |
| HW1 (due by 11:59pm on Tuesday, Sep 18th) | |||||||||||||||||||
4 | Mon | Sep 17 | Lecture 4: Array Reductions, Parallel QuickSort, Collective and Point-to-point Synchronization with Phasers, Phased Forasync Loops, Phaser Accumulators |
| Programming Patterns, Seq clause, Forall Loops, Barrier Synchronization |
|
| |||||||||||||||||||
5 | Wed | Sep 19 | Lecture 5: Parallel MergeSortSystolic Algorithms, Parallel BitonicSortOdd-Even Sort |
|
| HW2 (due by 11:59pm on Tuesday, Sep 25th) | ||||||||||||||||||||
6 | Mon | Sep 24 | Lecture 6: Collective and Point-to-point Synchronization with Phasers, Phased Forasync Loops, Phaser Accumulators, Loop Chunking | lec6-audio |
| |||||||||||||||||||||
Module 2: Nondeterministic Shared-Memory Parallelism | ||||||||||||||||||||||||||
67 | MonWed | Sep 2426 | Lecture 67: Critical sections and the Isolated statement, Monitors, Atomic Variables |
|
| 7 | Wed | Sep 26 | Lecture 7: Actors |
|
|
| HW3 (due by 11:59pm on TuesdayThursday, Oct 2nd4th) | |||||||||||||
8 | Mon | Oct 01 | Lecture 8: Systolic arrays, Systolic algorithms: Observationally Cooperative Scheduling (Guest lecturer: Prof. Melissa O'Neil) | lec8-slides |
|
|
| |||||||||||||||||||
9 | Wed | Oct 03 | Lecture 9: Linearizability of Concurrent Objects, Safety and Liveness Properties |
| Monitors, Actors | lec9-slides | HW4 (due by 11:59pm on TuesdayFriday, Oct 9th)12th) | |||||||||||||||||||
10 | Mon | Oct 08 | Lecture 10: Linearizability of Concurrent Objects, Safety and Liveness Properties, Progress Guarantees | lec10-slides |
|
| ||||||||||||||||||||
Module 3: Distributed-Memory Parallelism | ||||||||||||||||||||||||||
1011 | MonWed | Oct 0810 | Lecture 1011: Task Affinity with Places, Message Passing Interface (MPI) |
|
|
| 11 | Wed | Oct 10 | Lecture 11: MPI (contd), Cloud Computing and MapReduce, GPU Programming |
|
| lec11-slides |
| HW5 (due by 11:59pm on TuesdayWednesday, Oct 16h17th) | Module 4: Real-world Parallel Programming Models and Challenges | ||||||||||
12 | Mon | Oct 15 | Lecture 12: Parallel Programming Patterns, Comparison of Parallel Programming Models | Message Passing Interface (contd) | lec12-slides |
|
| |||||||||||||||||||
13 | Wed | Oct 17 | Lecture 13: Memory Consistency Models, Course Review | lec13-slides |
|
| Take-home Final Exam (3-hour duration, due by 5pm on Oct 19th) |