This is an archived course. A more recent version may be available at ocw.mit.edu.

Lecture Notes

Notes for selected lectures are available below.

SES # TOPICS LECTURE NOTES
L1 Matrix multiply: a case study (PDF)
L2 Basic performance engineering (PDF)
L3 Performance analysis primer  
L4 From C to machine code/assembler (PDF)
L5 Computer architecture and performance engineering (PDF)
L6 Memory systems and performance engineering (PDF)
L7 Algorithms and data structures for caches I (PDF)
L8 Algorithms and data structures for caches II (PDF)
L9 Dynamic storage allocation (PDF)
L10

Case study I

Guest lecture: Bradley Kuszmaul, MIT CSAIL

 
L11 Multicore programming (PDF)
L12 Parallelism and performance (PDF - 1.3MB)
L13 Analysis of multithreaded algorithms (PDF)
L14 Nondeterministic programming (PDF)
L15 Synchronizing without locks (PDF)
L16

Experiences in coding high-performance numerical libraries

Guest lecture: Matteo Frigo, Intel

 

L17 Ray tracing primer  
L18 Performance issues in parallelization (PDF - 1.6MB)
L19 What compilers can and cannot do (PDF)
L20 Distributed systems (PDF - 1.3MB)
L21 Case study II  
L22 Case study III  
L23 Final project showcase