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

Projects

Short descriptions of each project can be found in the syllabus section.

These projects require GCC (or another C++ compiler), GNU Make, and the Intel® Cilk++ compiler, all of which are freely available. Some projects also require Intel® VTune, which must be purchased.

PROJECT # TOPICS PROJECTS SUPPORTING FILES
1 Algorithmic tricks (PDF) (ZIP - 10.3MB)
2-1 Evaluating performance via profiling (PDF) (ZIP - 6.7MB)
2-2 Iterative performance optimization (PDF) (ZIP)
3 Writing a dynamic storage allocator (PDF) (ZIP)
4-1 Parallel programming with Cilk (PDF) (ZIP - 1.2MB)
4-2 Parallel programming with Cilk, part 2 (PDF) (ZIP)
5 Parallelism and data synchronization (PDF)

Lock-based queue (TXT)

Lock-free queue (TXT)

6 Final project (PDF) (ZIP)