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 |
---|---|---|---|
0 | Getting started | (PDF) | (ZIP) |
1 | Bit hacks | (PDF) | (ZIP) |
2-1 | Evaluating performance via profiling | (PDF) | (ZIP - 1.3MB) |
2-2 | Iterative performance optimization | (PDF) | (ZIP) |
3 | Writing a dynamic storage allocator | (PDF) | (ZIP) |
4-1 | Parallel programming with Cilk I | (PDF) | (ZIP - 1.1MB) |
4-2 | Parallel programming with Cilk II | (PDF) | (ZIP - 1.1MB) |
5 | Parallelism and data synchronization | (PDF) |
Lock-based queue (RTF) Lock-free queue (RTF) |
6 | Ray tracing performance derby | (PDF) |
Reference images: Scene 1 (PNG - 1.5MB) Scene 2 (PNG) Scene 3 (BMP - 1.0MB) |