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 (Easy Introduction to CUDA C and C++)
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 | 5-9 Jan | Wed | CUDA basics | Chap 1 & 2 | https://www.learn-c.org Lab 0 (start code) (due 14 Jan) |
| 2 | 12-16 Jan | Wed | Multidimensional grids and data | Chap 3 & 4 (2D arrays in C) | Lab 1 (start code) (due 28 Jan) |
| 3 | 19-23 Jan | Wed | Memory architecture and data locality Performance considerations | Chap 5 & 6 | |
| 4 | 26-30 Jan | Wed | Convolution Stencil | Chap 7 & 8 | Lab 2 (start code) (due 11 Feb) |
| 5 | 2-6 Feb | Wed | Parallel histogram Reduction | Chap 9 & 10 | |
| 6 | 9-13 Feb | Wed | Prefix sum (scan) Merge | Chap 11 & 12 | Lab 3 (start code) (due 25 Feb) |
| 7 | 16-20 Feb | Wed | Radix Sort | Chap 13 | |
| 8 | 23-27 Feb | Wed | Intro to Thrust library | Thrust chapter | Lab 4 (start code) (due 11 Mar) |
| 9 | 2-6 Mar | Wed | OpenMP | Barlas Read 8.1 to 8.4 | |
| 10 | 9-13 Mar | Wed | Programming a heterogeneous computing cluster | Chap 20 | Lab 5 (start code) (due 18 Mar) |
| 11 | 16-20 Mar | Wed | Project proposal | ||
| 12 | 23-27 Mar | Wed | Project progress review | ||
| 13 | 30 Mar – 3 Apr | Wed | Project progress review | ||
| 14 | 6-10 Apr | Wed | Project presentation | Project presentation Paper critique (both due 8 Apr) | |
| 15 | 13-17 Apr | Term is over |