Week | Lectures | Recitations | Key Dates |
---|---|---|---|
1 | L1: Intro and Matrix Multiplication | R1: Basic Tools | HW1: Basic Tools, C Primer assigned |
2 |
L2: Bentley's Rules L3: Bit Hacks | R2: Profiling |
HW2: Profiling assigned Project 1 Beta assigned |
3 |
L4: Architecture and Vectorization L5: C to Assembly | No recitations |
HW3: Vectorization assigned Project 1 Beta Writeup due Project 1 Final assigned |
4 |
L6: Multicore Programming L7: Races and Parallelism | R3: Cilk and Reducers |
HW4: Cilk, Reducer Hyperobjects assigned Project 1 MITPOSSE deadline |
5 |
L8: Analysis of Multithreaded Algorithms L9: What Compilers Can and Cannot Do | R4: Analysis of Multithreaded Programs |
HW5: Theory of Performance Engineering assigned Project 1 Final due Project 2 Beta assigned |
6 | L10: Measurement and Timing | R5: Quiz #1 Review |
Project 2 Beta due Project 2 Final assigned |
7 | L11: Storage Allocation | R6: Simple, Straightforward Memory Allocation |
Quiz #1 HW6: Simple Storage Allocation assigned Project 2 MITPOSSE deadline |
8 |
L12: Parallel Storage Allocation L13: The Cilk Runtime System | R7: Compiler-Inserted Instrumentation |
HW7: Dynamic Analysis Tools assigned Project 2 Final due Project 3 Beta assigned |
9 |
L14: Caching and Cache-Efficient Algorithms L15: Cache-Oblivious Algorithms | R8: Chaching and Cachegrind |
HW8: Caching and Cachegrind assigned Project 3 Beta due Project 3 Final assigned |
10 |
L16: Nondeterministic Programming L17: Synchronization without Locks | R9: Deterministic Execution |
HW9: Deterministic Execution assigned Project 3 MITPOSSE deadline |
11 |
L18: DSLs and Autotuning L19: Leiserchess Code Walk | R10: Quiz #2 Review |
Project 3 Final due Project 4 Beta 1 assigned |
12 | No lectures | No recitations | Quiz #2 |
13 |
L20: Speculative Parallelism/Project Parallelization Strategies L21: Guest Lecture | R10: Synchronization Primitives and Examples |
HW10: Data Synchronization assigned Project 4 Beta 1 due Project 4 Beta 2 assigned |
14 |
L22: Graph Optimization L23: Guest Lecture | No recitations |
Project 4 Beta 2 due Project 4 Final assigned Project 4 MITPOSSE deadline |
15 | No lectures | No recitations | Student Presentations due |