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

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