Course material for the CSC course "Introduction to GPU programming".
Siili document for additional info during the course: https://siili.rahtiapp.fi/9lXWbh-ETaiCuzMuWYmMRw
| Time | Topic |
|---|---|
| 09:00–09:15 | Welcome, LUMI access, slurm, git, web interface |
| 09:15-09:30 | What is CSC? |
| 09:30–09:45 | Break/debugging access |
| 09:45–10:30 | Introduction to GPU's and GPU programming |
| 10:30–10:45 | Break |
| 10:45-11:30 | Basic usage, memory allocation and kernels |
| 11:30-11:45 | Break |
| 11:45-12:15 | Exercises |
| 12:15-13:00 | Lunch |
| 13:00-13:45 | Basic usage cont. |
| 13:45-14:00 | Break |
| 14:00-14:30 | Exercises |
| 14:30-15:15 | Analyzing simple traces |
| 15:15-15:30 | Break |
| 15:30-16:00 | Exercises |
| 16:00-16:15 | Day summary |
| Time | Topic |
|---|---|
| 09:00–09:30 | Day 1 Recap |
| 09:30–10:00 | Streams and events |
| 10:00–10:15 | Break |
| 10:15–11:00 | Exercises |
| 11:00-11:30 | Memory allocations, access, and unified memory |
| 11:30-11:45 | Break |
| 11:45-12:15 | Exercises |
| 12:15-13:00 | Lunch |
| 13:00-13:45 | Exercises cont'd |
| 13:45-14:00 | Break |
| 14:00-14:30 | Inspecting exercise traces, rocprof |
| 14:30-15:00 | Bonus exercise |
| 15:00-16:00 | Close-up |
| Time | Topic |
|---|---|
| 09:00–10:00 | Performance optimization (I) |
| 10:00–10:15 | Break |
| 10:15–10:45 | Exercises |
| 10:45-11:30 | Performance optimization (II) |
| 11:30-11:45 | Break |
| 11:45-12:15 | Exercises |
| 12:15-13:00 | Lunch |
| 13:00-13:30 | HOP and performance portability |
| 13:30-13:45 | Break |
| 13:45-14:15 | Exercises |
| 14:15-14:45 | Multi-GPU programming |
| 14:45-15:45 | Break & Exercises |
| 15:45-16:00 | Close-up |
Link to slides
- Implementing and using a stream
- Running concurrent GPU kernels
- Asynchronous data transfers between CPU and GPU
- Recording and timing GPU kernels with HIP events
- Overlapping CPU and GPU computation