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) |