Calendar

Week 01 Intro and Matrix Multiplication [video] HW1 assigned [HW1 Materials]
Week 02 Bentley’s Rules [video]
Bit Hacks [video]
HW2 assigned [HW2 Materials]
Project 1 Beta assigned
Week 03 Computer Architecture [video]
C to Assembly [video]
Vectorization
HW3 assigned [HW3 Materials]
Project 1 Beta Writeup due
Project 1 Final assigned
Week 04 Multicore Programming [video]
Races and Parallelism [video]
HW4 assigned
Week 05 Parallel Algorithms I [video]
Parallel Algorithms II
HW5 assigned
Project 1 Final due
Project 2 Beta assigned
Week 06 Measurement and Timing [video] HW6 assigned [HW6 Materials]
Project 2 Beta due
Project 2 Final assigned
Week 07 Storage Allocation [video] HW7 assigned
Quiz #1
Week 08 Parallel Storage Allocation [video] HW8 assigned
Week 09 Cache-Efficient Algorithms [video]
Cache-Oblivious Algorithms [video]
Project 2 Final due
Project 3 Beta assigned
Week 10 Nondeterministic Parallel Programming [video]
Synchronization without Locks [video]
HW9 assigned [HW9 Materials]
Week 11 Speculative Parallelism [video] Project 3 Beta due
Project 3 Final assigned
Week 12 GPU Programming [video] HW10 assigned
Quiz 2
Week 13 What Compilers Can and Cannot Do [video] Project 3 Final due
Week 14 No lectures Student Presentations due