EE548 High Performance Computing
Lecture
Wednesday 13h00-15h00 (s5109)
Resources
C tutorial (https://www.learn-c.org)
CUDA toolkit documentation (https://docs.nvidia.com/cuda/index.html)
Introduction to CUDA (https://devblogs.nvidia.com/even-easier-introduction-cuda/)
CUDA unified memory (An Even Easier Introduction to CUDA)
MPI-2 Documentation (DeinoMPI)
MATLAB Parallel Computing Toolbox (Documentation API)
HPC server
The HPC server is accessible through SSH. Use the following instructions to connect using Visual Studio Code.
Schedule
Week | Date | Day | Lectures | Readings | Laboratory |
---|---|---|---|---|---|
1 | 11-15 Sep | Tue | CUDA basics | Chap 1 & 2 | https://www.learn-c.org Lab 0 (start code) (due 19 Sep) |
2 | 18-22 Sep | Tue | Multidimensional grids and data | Chap 3 & 4 (2D arrays in C) | Lab 1 (start code) (due 3 Oct) |
3 | 24-29 Sep | Tue | Memory architecture and data locality Performance considerations | Chap 5 & 6 | |
4 | 2-6 Oct | Tue | Convolution Stencil | Chap 7 & 8 | Lab 2 (start code) (due 17 Oct) |
5 | 9-13 Oct | Tue | Parallel histogram Reduction | Chap 9 & 10 | |
6 | 16-20 Oct | Tue | Prefix sum (scan) Merge | Chap 11 & 12 | Lab 3 (start code) (due 31 Oct) |
7 | 23-27 Oct | Tue | Radix Sort | Chap 13 | |
8 | 30 Oct – 3 Nov | Tue | Intro to Thrust library | Thrust chapter | Lab 4 (start code) (due 14 Nov) |
9 | 6-10 Nov | Tue | OpenMP | Barlas Read 8.1 to 8.3 | |
10 | 13-17 Nov | Tue | Programming a heterogeneous computing cluster | Chap 20 | Lab 5 (start code) (due 28 Nov) |
11 | 20-24 Nov | Tue | Project proposal | ||
12 | 27 Nov – 1 Dec | Tue | Project progress review | ||
13 | 4-8 Dec | Tue | Project progress review | ||
14 | 11-15 Dec | Tue | Project presentation | Project presentation Paper critique (both due 12 Dec) | |
15 | 18-22 Dec | Term is over |