Slides will be uploaded the day after class
Unless explicitly mentioned, Readings will refer to The Art of Multiprocessor Programming, available online from the library
Module 1: Introduction, Background and ILP
| Date | Topic | Slides | Readings | 
|---|---|---|---|
| Tues, March 30 | Welcome! | slides | Overview page | 
| Thurs, April 1 | Arch and Compiler Background 1 | slides | Appendix B | 
| Tues, April 6 | Arch and Compiler Background 2 | slides | Appendix B | 
| Thurs, April 8 | Instruction Level Parallelism and C++ threads | slides | Class Slides | 
Module 2: Mutual Exclusion
| Date | Topic | Slides | Readings | 
|---|---|---|---|
| Tues, April 13 | Principles of Mutual Exclusion | slides | Chapter 2 | 
| Thurs, April 15 | Mutual Exclusion in Practice 1 | slides | Chapter 7 - 7.5 | 
| Tues, April 20 | Mutual Exclusion in Practice 2 | slides | Chapter 7.5 - end | 
| Thurs, April 22 | Specialized Mutual Exclusion | slides | Chapter 8 | 
Module 3: Concurrent Data Structures
| Date | Topic | Slides | Readings | 
|---|---|---|---|
| Tues, April 27 | Principles of Concurrent Objects I | slides | Chapter 3 | 
| Thurs, April 29 | Principles of Concurrent Objects II | slides | Chapter 3 | 
| Tues, May 4 | Concurrent Linked-List Set | slides | Chapter 10 | 
| Thurs, May 6 | Concurrent Queues | slides | Class Slides | 
| Tues, May 11 | Work Stealing | slides | Class Slides | 
Module 4: Reasoning about Concurrency
| Date | Topic | Slides | Readings | 
|---|---|---|---|
| Thurs, May 13 | Memory Consistency Models | slides | You Don’t Know Jack… | 
| Tues, May 18 | Barriers | slides | Chapter 17 | 
| Thurs, May 20 | Guest Lecture by Hugues Evrard (Google) and Alastiar Donaldson (Imperial College London) | Hugues, Alastair | Class Slides | 
| Tues, May 25 | Forward progress | slides | Class Slides | 
Module 5: Advanced Topics
| Date | Topic | Slides | Readings | 
|---|---|---|---|
| Thurs, May 27 | GPU Programming 2 | slides | CUDA By Example Chapter 3-4 | 
| Tues, June 1 | GPU Programming 1 | slides | CUDA By Example Chapter 1 | 
| Thurs, June 3 | Distributed Computing Basics (by Reese) | Class Slides | 
Final
Our final is scheduled for Wednesday, June 9. If you would like to block off specific hours, our scheduled time is 4 PM to 7 PM