Course material for the CSC course "Portable GPU Programming". The course is part of the EuroCC training activities at CSC.
The slides are available here.
| Time | Topic |
|---|---|
| 09:00-09:15 | Welcome |
| 09:15-09:45 | Parallel Computing & Supercomputers |
| 09:50-10:00 | Intro & GPU execution model |
| 10:00-10:20 | GPU memory hierarchy |
| 10:40-12:00 | Mahti and LUMI Computing Platforms & Profiling |
| 12:00-13:00 | Lunch break |
| 13:00-14:10 | Refresher of C++ |
| 14:30-15:20 | MPI basics |
| 15:20-16:30 | Break and Exercises |
| 16:30-16:45 | Day 1 wrap-up |
| Time | Topic |
|---|---|
| 09:15-09:30 | Introduction to SYCL |
| 09:30-10:00 | Simple SYCL |
| 10:25-11:00 | SYCL Exercises |
| 11:00-11:20 | Advanced SYCL |
| 11:20-12:00 | SYCL Exercises |
| 12:00-13:00 | Lunch break |
| 13:00-13:30 | Other SYCL Features |
| 13:30-14:00 | SYCL Exercises |
| 14:00-15:00 | Memory Optimizations |
| 15:00-15:45 | SYCL and MPI |
| 15:45-16:30 | Interoperability |
| 16:30-16:45 | Day 2 wrap-up |
| Time | Topic |
|---|---|
| 09:15-12:00 | Kokkos I (with exercises) |
| 12:00-13:00 | Lunch break |
| 13:00-15:00 | Kokkos II (with exercises) |
| 15:00-16:30 | Kokkos III (with exercises) |
| 16:30-16:45 | Day 3 wrap-up |
| Time | Topic |
|---|---|
| 09:15-12:00 | OpenMP offload (with exercises) |
| 12:00-13:00 | Lunch break |
| 13:00-16:00 | OpenMP offload (with exercises) |
| 16:00-16:45 | Portable GPU programming frameworks wrap-up |
The lectures in this repository are published under CC-BY-SA license. Some of the lectures and exercises are based on Intel copyrighted work and they have their own license (MIT).
Data Parallel C++ Programming Accelerated Systems Using C++ and SYCL