This schedule is subject to change, so check frequently
When references to the texts are cited, we use the following naming conventions:
Kirk and Hwu: Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, by David Kirk and Wen-mei Hwu, Morgan Kaufmann Publishers (2012).
Pacheco: An Introduction to Parallel Programming, by Peter Pacheco, Morgan Kaufmann (2011).
| Lecture | Date | Topic | Notes |
|---|---|---|---|
| 1 | 9/24 | Introduction | slides notes |
| 2 | 9/ 29 | Memory hierarchies | |
| Optimizing for the memory hierarchy | slides notes | ||
| 3 | 10/1 | Memory address space organization | |
| SSE and SSE intrinsics | slides notes | ||
| 4 | 10/6 | Multithreading | |
| OpenMP | slides notes | ||
| 5 | 10/8 | Introduction to Graphical Processing Units | slides notes |
| 6 | 10/13 | The Basics of CUDA Programming | slides notes |
| 7 | 10/15 | Using shared memory | slides notes |
| 8 | 10/20 | Using shared memory to optimize matrix multiply | |
| Coalesced memory access | |||
| Avoiding bank conflicts | slides notes | ||
| 9 | 10/22 | An improved matrix multiply | |
| Thread Divergence | slides notes | ||
| 10 | 10/27 | More optimizations | |
| A look at PTX assembly | slides notes | ||
| 11 | 10/29 | Thread Scheduling | |
| Thread Divergence | slides notes | ||
| 12 | 11/3 | Stencil Methods | slides notes |
| 13 | 11/5 | MPI | slides notes |
| 14 | 11/10 | Stencil Methods with message passing | |
| Non-blocking communication | |||
| Message passing performance | slides notes | ||
| 15 | 11/12 | Characterizing and Measuring Performance | |
| Performance of stencil methods | slides notes | ||
| 16 | 11/19 | Matrix multiplication | |
| Communication avoiding matrix multiplication | slides notes | ||
| 17 | 11/24 | Cache coherence | |
| NUMA systems | slides notes | ||
| 18 | 11/24 | Large scale computing | slides notes |