GPU Programming. Why. When. How.

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Online
Live (synchronous)

Venue Information

Country: Sweden
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Beginner
Intermediate
Advanced
Sector of the Target Audience
Research and Academia
Industry
HPC Profile of Target Audience
Application Users
Application Developers
Language of Instruction

Other Information

Organiser
Supporting Project(s)
EuroCC/CASTIEL
EuroCC2/CASTIEL2
Event/Course Description

This workshop is based on a multilateral collaboration between GPU programming specialists from the Nordic countries. It is meant to help both software developers and decision-makers navigate the GPU programming landscape and make more informed decisions on which languages or frameworks to learn and use for their projects.

This workshop will cover basic aspects of GPU programming concepts and models including:

  • GPU hardware and software ecosystem
  • GPU programming concepts & models
  • Directive-based models (OpenACC, OpenMP)
  • Portable kernel-based models (Kokkos, OpenCL, SYCL, etc.)
  • Non-portable kernel-based models I (CUDA, HIP)
  • High-level language support (Python, Julia)
  • Multi-GPU programming with MPI
  • Preparing code for GPU porting
  • Hand-on examples

What you will learn

  • Understand why and when to use GPUs.
  • Become comfortable with key concepts in GPU programming.
  • Acquire a comprehensive overview of different software frameworks, what levels they operate at, and which to use when.
  • Learn the fundamentals in at least one framework to a level which will enable you to quickly become a productive GPU programmer.