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 |


