This course gives you hands-on experience with programming high-performance computer systems, from single-processor multicore platforms up to large-scale distributed memory multi-CPU/GPU systems.
Unlike CSE 6220: Intro to HPC, which presents theory, this course explores practice: current and emerging programming models, performance analysis, and low-level performance engineering both for parallelism and for locality.
Ideally, you will emerge knowing how to write blazingly fast and scalable code for modern machines.
The class meets Tuesdays and Thursdays from 4:35-5:55pm in Klaus 2447.
Each weekly lab assignment is due before class (at 4:30pm) on the day of the next lab.
Week | Tuesday | Thursday | Notes |
---|---|---|---|
1: Aug 19 & 21 | Introduction [PDF (15 MiB)] |
(no class) | Read “Dynamic multithreading” (PDF) thru p. 795 |
2: Aug 26 & 28 | Dynamic MT [PDF (819 KiB)] |
Cilk Plus (dynamic MT) [PDF (2.8 MiB)] |
Optional reading: Hager Ch. 5 |
3: Sep 2 & 4 | Lab 1 | OpenMP 101 (shared memory) [PDF (2.3 MiB)] |
Hager Ch. 6 & 7 |
4: Sep 9 & 11 |
Lab 2
OpenMP + NUMA [PDF (842 KiB)] |
CUDA 101 (GPUs) [PDF (5.5 MiB)] |
Hager Ch. 8 |
5: Sep 16 & 18 | Lab 3 | MPI 101 (distributed memory) [PDF (37 MiB)] |
Hager Chap. 9 & 10 |
6: Sep 23 & 25 | Broadcast algorithms | Lab 4 | See van de Geijn's notes on Piazza |
Week | Tuesday | Thursday | Notes |
---|---|---|---|
7: Sep 30 & Oct 2 | GPU Tuning, Part 1 [PDF (11 MiB)] |
Lab 5 | Project proposals due on Fri Oct 3 |
8: Oct 7 & 9 | GPU Tuning, Part 2 [PDF (11 MiB)] Matrix multiply notes for Lab 6 [PDF (15 MiB)] |
Lab 6 | |
9: Oct 14 & 16 | (no class) | Advanced CUDA features | No lab; Project survey due on Fri Oct 17 |
Week | Tuesday | Thursday | Notes |
---|---|---|---|
10: Oct 21 & 23 | Compilers: Polyhedral model | Lab 7 (optional) | |
11: Oct 28 & 30 | Microarchitecture | Lab 8 | Readings TBD (will come from textbook) |
12: Nov 4 & 6 | SIMD | Lab 9 | |
13: Nov 11 & 13 | Caches & NUMA | Lab 10 (in-class only) | Hager Ch. 8 Project checkpoint due Fri Nov 7 |
Week | Tuesday | Thursday | Notes |
---|---|---|---|
14: Nov 18 & 20 | No class due to Supercomputing (SC) '14 Conference | ||
15: Nov 25 & 27 | Hybrid programming | (no class–Thanksgiving) | |
16: Dec 2 & 4 | Lab 11 (in-class only) | TBD | Project report due Fri Dec 5 |
We will use Piazza for class discussion: https://piazza.com/gatech/fall2014/cse6230. The system enables you to get help quickly and efficiently from classmates and instructors. Rather than emailing questions to the teaching staff, post your questions on Piazza.
Professor Richard (Rich) Vuduc
Klaus 1334
Office hours: Mon 2-3p & Wed 4-5p
Ms. Jiajia Li
Klaus 1343 (“HPC Lab”)
Office hours: Th 3:30-4:30p