Calendar
| SES # | TOPICS | KEY DATES | 
|---|---|---|
| L1 | Matrix multiply: a case study | Project 1 out | 
| L2 | Basic performance engineering | |
| L3 | Performance analysis primer | Project 1 due Project 2-1 out | 
| L4 | From C to machine code/assembler | |
| L5 | Computer architecture and performance engineering | |
| L6 | Memory systems and performance engineering | Project 2-1 due Project 2-2 out | 
| L7 | Algorithms and data structures for caches I | |
| L8 | Algorithms and data structures for caches II | |
| L9 | Dynamic storage allocation | Project 2-2 due Project 3 out | 
| L10 | Case study I Guest lecture: Bradley Kuszmaul, MIT CSAIL | |
| L11 | Multicore programming | Project 3 due Project 4-1 out | 
| L12 | Parallelism and performance | |
| L13 | Analysis of multithreaded algorithms | Project 4-2 out | 
| L14 | Nondeterministic programming | Project 4-1 due | 
| L15 | Synchronizing without locks | |
| L16 | Experiences in coding high-performance numerical libraries Guest lecture: Matteo Frigo, Intel | Project 5 out | 
| L17 | Ray tracing primer | Project 6 out Project 4-2 due | 
| L18 | Performance issues in parallelization | |
| L19 | What compilers can and cannot do | Project 5 due | 
| L20 | Distributed systems | |
| L21 | Case study II | Project 6 report due | 
| L22 | Case study III | |
| L23 | Final project showcase | Project 6 due | 







