CUDA, as native programming model of Nividia GPUs, allows very fine-grained control over parallel execution compared to higher level programming models such as OpenMP offloading, which helps to optimize performance.
The course provides an introduction to the programming language CUDA which is used to write fast numeric algorithms for NVIDIA GPUs. Focus is on the basic usage of the language, the exploitation of the most important features of the GPU (massive parallel computation, shared memory) and efficient usage of the hardware to maximize performance. An overview of the available development tools and some advanced features of the language is given.
The course is split in two parts in two subsequent weeks:
Part 1 starts with an introduction to CUDA, covers the most basic topics necessary and ends with comments on usage of CUDA with more modern C++.Part 2 introduces more features of GPUs and how to use them with CUDA. Further correctness checking and kernel level profiling will be covered as well as some more advanced topics.
You may attend only part 2 if you have already a good basic knowledge of CUDA (see topics of part 1 in the agenda).
Online course Organizer: HLRS, University of Stuttgart, Germany
11. Nov. 2025 08:45
21. Nov. 2025 12:30
Online
Englisch
Basis
Hardware-Beschleuniger
Paralleles Programmieren
GPU-Programmierung
Zurück zur Liste
For part 1 (introductory)
Programming experience in any of C, C++, or Fortran. Exercises will use a Linux cluster. Therefore you should have some basic knowlegde about how to work with a Linux shell and a text editor in a shell. Resources for this could be e.g. https://ubuntu.com/tutorials/command-line-for-beginners and for an editor https://opensource.com/article/19/3/getting-started-vim. Some knowledge about parallel programming is a plus.
For part 2 (advanced)
Additionally to the prerequisites above you should be familiar with the topics of part 1.
Learn more about course curricula and content levels.
Tobias Haas (HLRS)
After this course, participants will:
All times are local times in the central European time zone (Berlin).
Drop in to the video conference (8:45 - 9:00)
Course will take place from 9:00 - 12:30 on each day. More details will be published soon.
Cluster dry run on Mon Nov 10 at 10:00 AM
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Each participant will get access to all slides (PDF).
Although this is an online course, the exercises will be very interactive using break out rooms. Participants will work on HLRS's systems.
Register via the button at the top of this page (will be available soon).
Our course fee includes coffee breaks (in classroom courses only).
For lists of EU and EU-associated coutries, and PRACE countries have a look at the Horizon Europe and PRACE website.
Lucienne Dettki, phone 0711 685 63894, training(at)hlrs.deTobias Haas, phone 0711 685 87223, training(at)hlrs.de
HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. EuroCC@GCS is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC.
This course is provided within the framework of the bwHPC training program.
See the training overview and the Supercomputing Academy pages.
Juni 17 - 18, 2025
Juli 09 - 10, 2025
August 18 - September 26, 2025
Online (flexible)
Oktober 21 - 22, 2025