Portable GPU Programming
This training provides a practical introduction to GPU programming with the focus on portability. Participants will learn how to develop portable and high-performance applications for diverse accelerated computing environments using SYCL, Kokkos, and OpenMP offloading. The course combines lectures with hands-on exercises on the LUMI and Mahti supercomputers, utilizing both AMD and NVIDIA GPUs to demonstrate cross-platform capabilities.
Intended Learning Outcomes
By the end of the course, participants will be able to:
- Explain the key architectural features of modern GPUs and their implications for performance.
- Develop hardware-independent accelerated applications using SYCL, Kokkos, and/or OpenMP offloading to express parallelism.
- Implement effective memory management strategies across host and device environments
- Compare and critically assess different GPU programming models in terms of portability, performance, and ease of use.
Prerequisite knowledge
- General: Basic skills to operate in a Linux command line environment.
- For SYCL and Kokkos: Basic experience in programming with C or C++.
- For OpenMP offloading: Basic experience in programming with C, C++, or Fortran.
C++ refresher session will be given on the first day.
The participants are expected to be familiar with programing elementary concepts such variables, statements, control structures, functions.
Schedule (coarse-grained)
Day 1, Tuesday 21.10, 09:15 – 16:45:
Introduction to GPUs, LUMI and Mahti presentation, C++ refresher, and other background knowledge
Day 2 , Wednesday 22.10, 09:15 – 16:45
Portable GPU Programming with SYCL
Day 3, Thursday 23.10, 09:15 – 16:45
Portable GPU Programming with Kokkos
Day 4, Friday, 24.10, 09:15 – 16:45
Portable GPU Programming with OpenMP offloading
Fee
Participation in this training event is free of charge.
Selection process
Participants will be accepted in the order in which registrations are received.
The registration deadline is 14 October 2025.
Contact cristian-vasile.achim@csc.fi for course details or event-support@csc.fi for registration related questions.