Slides will be uploaded at some point before class

Unless explicitly mentioned, Readings will refer to The Art of Multiprocessor Programming, available online from the library, see the references tab

Module 1: Introduction, Background and ILP

Date Topic Slides Readings
Mon, Jan. 9 Welcome! slides Overview page
Wed, Jan. 11 Arch and Compiler Background 1 slides Appendix B
Fri, Jan. 12 Arch and Compiler Background 2 slides Appendix B
Wed, Jan. 18 Instruction Level Parallelism 1 slides Class slides
Fri, Jan. 20 Instruction Level Parallelism 2 and C++ threads slides Class Slides

Module 2: Mutual Exclusion

Date Topic Slides Readings
Mon, Jan. 23 Principles of Mutual Exclusion 1 slides Chapter 2
Wed, Jan. 25 Principles of Mutual Exclusion 2 slides Chapter 2
Fri, Jan. 27 Grad TA Parallel Topic Lectures slides #1 (Jessica), slides #2 (Jessica), slides (Devon)  
Mon, Jan. 30 Mutual Exclusion in Practice 1 slides Chapter 7 - 7.5
Wed, Feb. 1 Mutual Exclusion in Practice 2 slides Chapter 7.5 - end
Fri, Feb. 3 Specialized Mutual Exclusion 1 slides Chapter 8
Mon, Feb. 6 Specialized Mutual Exclusion 2 slides Chapter 8

Module 3: Concurrent Data Structures

Date Topic Slides Readings
Wed, Feb. 8 Principles of Concurrent Objects I slides Chapter 3
Fri, Feb. 10 Principles of Concurrent Objects II slides Chapter 3
Mon, Feb. 13 Specialized Queues slides Class slides
Wed, Feb. 15 Work Stealing slides Chapter 10
Fri, Feb. 17 Work Stealing 2 slides Class Slides
Wed, Feb. 22 CLASS CANCELED CLASS CANCELED Class Slides
Fri, Feb. 24 Concurrent Sets slides Class Slides
Mon, Feb. 27 Concurrent Sets 2 slides Class Slides

Module 4: Reasoning about Concurrency

Date Topic Slides Readings
Wed, March 1 Barriers slides Chapter 17
Fri, March 3 Memory Consistency Models 1 slides You Don’t Know Jack…
Mon, March 6 Memory Consistency Models 2 slides You Don’t Know Jack…
Wed, March 8 Forward progress 1 slides Class Slides

Module 5: Heterogeneous Computing

Date Topic Slides Readings
Fri, March 10 Intro to GPUs and Javascript slides Class Slides
Mon, March 13 Javascript parallelism 1 slides Class Slides
Wed, March 15 GPU Programming 1 slides CUDA By Example Chapter 1
Fri, March 17 GPU Programming 2 slides CUDA By Example Chapter 3-4

Final

Our final is scheduled for Wednesday, March 22. If you would like to block off specific hours, our scheduled time is 4 PM to 7 PM