TIES3440 COM2: Portable GPU Programming (JSS35) (1 op)
Kuvaus
This course 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 course 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.
Osaamistavoitteet
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
Esitietojen kuvaus
· 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.
Suoritustavat
Tapa 1
Osallistuminen opetukseen (1 op)
Lectures, demonstrations, and hands-on exercises.