GPU Programming Workshop

Please mind that the originally planned 1-day lecture on the 4th day about "Fundamentals of Accelerated Computing with CUDA Python" will be replaced by a half-day advanced CUDA lecture.

Overview

In this 3.5-day online workshop you will learn how to accelerate your applications with OpenACC, OpenMP, Kokkos, and CUDA C++ on NVIDIA GPUs.

The lectures are interleaved with many hands-on sessions using the JupyterHub at NHR@FAU to access the Alex cluster.

The workshop is co-organised by Leibniz Supercomputing Centre (LRZ) and  Erlangen National High Performance Computing Center (NHR@FAU). 

Agenda

1st day: Fundamentals of Accelerated Computing with OpenACC

Learn the basics of OpenACC, a high-level programming language for programming on GPUs. This lecture is for anyone with some C/C++ of Fortran experience who is interested in accelerating the performance of their applications beyond the limits of CPU-only programming. In this lecture, you’ll learn:

  • How to profile and optimise your CPU-only applications to identify hot spots for acceleration
  • How to use OpenACC directives to GPU accelerate your codebase
  • How to optimise data movement between the CPU and GPU accelerator

Upon completion, you'll be ready to use OpenACC to GPU accelerate CPU-only applications.

2nd day: Fundamentals of Accelerated Computing with OpenMP and Kokkos

Morning session: Introduction to GPU programming using OpenMP directives. The lecture covers the OpenMP offloading model, including parallelism, data mapping, and memory management.

Afternoon session: GPU programming with Kokkos, a modern C++ library for performance-portable parallel computing. Participants will learn to implement algorithms efficiently on GPUs, leverage parallelism, and optimise memory access to maximise performance.

3rd and 4th day: Fundamentals of Accelerated Computing with CUDA C/C++

This lecture teaches the fundamental tools and techniques for accelerating C/C++ applications to run on massively parallel GPUs with CUDA. You’ll learn how to write code, configure code parallelisation with CUDA, optimise memory migration between the CPU and GPU accelerator, and implement the workflow that you’ve learned. At the end of the lecture, you will be able to create new GPU-accelerated applications on your own.

Prerequisites

Day 1:

  • Basic C/C++ or Fortran competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations.
  • No previous knowledge of OpenACC programming is assumed.

Day 2:

  • Basic C++ competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations.
  • No previous knowledge of OpenMP and Kokkos programming is assumed.

Day 3/4: 

  • Basic C++ competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations.
  • No previous knowledge of CUDA programming is assumed.

Hands-On

The lectures are interleaved with many hands-on sessions using the JupyterHub at NHR@FAU to access the Alex cluster.

Language

English

Lecturers

Dr. Momme Allalen, Dr. Sajjad Azizi, Dr. Volker Weinberg (all LRZ), Dr. Sebastian Kuckuk (NHR@FAU)

Prices and Eligibility

The course is open and free of charge for people from academia affiliated with an institution in the Member States of the European Union or Associated/Other Countries to the Horizon 2020 programme.

Participants from industry are not eligible to take part in this course.

Registration

Please register with your official e-mail address to prove your affiliation.

Withdrawal Policy

See Withdrawal

Legal Notices

For registration for LRZ courses and workshops we use the service edoobox from Etzensperger Informatik AG (www.edoobox.com). Etzensperger Informatik AG acts as processor and we have concluded a Data Processing Agreement with them.

See Legal Notices

   

 

Online Course GPU Programming Workshop
Number hdli1s26
Available places 0
Date 08.06.2026 – 11.06.2026
Price EUR 0.00
Location ONLINE


Room
Registration deadline 01.06.2026 23:59
E-mail [email protected]
No. Date Time Trainer Location Room Description
1 08.06.2026 09:00 – 16:00 Mr Volker Weinberg ONLINE Lecture
2 09.06.2026 09:00 – 16:00 Mr Volker Weinberg
Mr Sajjad Azizi
ONLINE Lecture
3 10.06.2026 09:00 – 16:00 Mr Sebastian Kuckuk ONLINE Lecture
4 11.06.2026 09:00 – 12:00 Mr Sebastian Kuckuk ONLINE Lecture