Onsite

Portable GPU Programming

This training provides a practical, hands‑on introduction to portable GPU programming. Participants will learn how to develop hardware‑agnostic, high-performance applications for diverse accelerated computing environments using OpenMP offload and Kokkos as example frameworks. The training combines lectures with hands-on exercises on the LUMI and Roihu supercomputers, enabling participants to work with both AMD and NVIDIA GPUs to explore cross‑platform portability.

The training is aimed at all researchers and students interested in GPU programming. No prior experience in GPU programming is required.

This training is organized in collaboration with Jyväskylä Summer School


Learning outcomes


After completing the course, participants should be able to

  • Explain the key architectural features of modern GPUs and their implications for performance
  • Develop hardware-agnostic accelerated applications using OpenMP offload and/or Kokkos to express parallelism
  • Implement effective memory management strategies across host and accelerator environments
  • Compare and critically assess different GPU programming models in terms of portability, performance, and ease of use

Prerequisites

  • Basic skills to operate in a Linux command line environment.
  • Basic working knowledge in programming with C or C++. Necessary C++ constructs will be introduced to those familiar with C only. The OpenMP section may also be completed using Fortran instead of C or C++.
  • Prior exposure to scientific computing concepts is helpful but not required.
  • Participants should bring their own laptop for accessing the supercomputers where hands‑on exercises are conducted. Any laptop capable of SSH access and web browsing is sufficient

Selection process


This training is organized in collaboration with Jyväskylä Summer School and listed as the course COM2: Portable GPU Programming in the school program.

All students wishing to receive an ECTS credit for attending the training should apply to the training following the Jyväskylä Summer School process by 30.4.2026, see instructions here.

All researchers and other participants should apply to the training following the registration link on this page.

All applicants will be informed about admissions by early June.

Contact training@csc.fi for any questions.