Calendar

LEC # TOPICS KEY DATES
1 Matrix multiply: A case study  
2 Bit hacks

Project 0 due

Project 1 out

3 Basic performance engineering  
4 Computer architecture and performance engineering

Project 1 due

Project 2–1 out

5 Performance engineering with profiling tools  
6 C to assembler  
7 Memory systems and performance engineering

Project 2–1 due

Project 2–2 out

8 Cache-efficient algorithms  
9 Cache-efficient algorithms II

Project 2–2 due

Project 3 out

10 Dynamic storage allocation  
11 What compilers can and cannot do  
12 Multicore programming Project 3 due
13 Parallelism and performance Project 4–1 out
14 Analysis of multithreaded algorithms  
15 Nondeterministic programming  
16 Synchronizing without locks

Project 4–1 due

Project 4–2 out

Project 5 out

17 Performance issues in parallelization  
18 Primer on ray tracing techniques

Project 4–2 due

Project 5 due

Project 6 out

19

Cache-oblivious B-tree (TokuDB)

Guest lecture: Bradley Kuszmaul, MIT CSAIL

 
20 Distributed systems  
21 Quiz 2 review  
22

A tale of 10 bugs: Performance engineering at VMWare

Guest lecture: Ravi Soundararajan, VMWare

 
23 Final project competition and student feedback Project 6 due