TIES3440 COM2: Portable GPU Programming (JSS35) (1 cr)

Study level:
Advanced studies
Grading scale:
Pass - fail
Language:
English
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2026-2027

Description

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.

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

Description of 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.

Completion methods

Method 1

Description:
Lectures, demonstrations, and hands-on exercises.
Evaluation criteria:
Pass/Fail based on attendance
Time of teaching:
Period 1
Select all marked parts
Parts of the completion methods
x

Participation in teaching (1 cr)

Type:
Participation in teaching
Grading scale:
Pass - fail
Evaluation criteria:
<p>Pass/Fail based on attendance</p>
Language:
English
Study methods:

Lectures, demonstrations, and hands-on exercises.

Teaching