Skip to the content.

Course Schedule

The class will follow this tentative schedule. Updates will be posted here and on the class Slack! Topic titles link to the slides for each class and lecture videos are available here.

Date Topic Pre-class Homework Notes
9/3 Introduction to the course PCA 0    
9/8 GitHub/Single-processor computing PCA 1 HW 1  
9/10 Single-processor computing PCA 2    
9/15 Single-processor review   HW 2 HW1 due
9/17 Parallel computing theory PCA 3    
9/22 Parallel programming PCA 4 HW 3 HW2 due
9/24 Network Topologies PCA 5    
9/29 The Seven Dwarfs PCA 6 HW 4 HW3 due
10/1 Intro to MPI, functional parallelism PCA 7    
10/6 Collective communication PCA 8 HW 5 HW4 due
10/8 Collective communication PCA 9    
10/13 Point-to-point communication PCA 10 HW 6 HW5 due
10/15 Point-to-point communication PCA 11    
10/20 Data types, communicators   HW 7 HW6 due
10/22 Getting started with OpenMP PCA 12    
10/27 OpenMP, regions, loops PCA 13 HW8 HW7 due
10/29 Worksharing, thread data, reductions PCA 14    
11/3 CANCELLED      
11/5 Synchronization, tasks PCA 15   HW8 due
11/10 One-sided communication PCA 16 HW 9  
11/12 I/O, HDF5 PCA 17    
11/17 Affinity, memory models, shared memory MPI PCA 18 HW 10  
11/19 SIMD, OpenMP review PCA 19 HW11 HW9 due
11/24 OpenMP 4.5 GPU PCA 20    
11/26 No class!      
12/1 Project work day     HW10 due
12/3 GPUs, CUDA PCA 21    
12/8 CANCELLED      
12/10 Review     Projects due!
12/17 Final Project Review (10 am - 12 pm)     Peer reviews due!