GPU Programming Part 1: Foundations (training course, on-site)
Dr. Jan Meinke
(Course no. TBA in the training programme 2026 of Forschungszentrum Jülich)
This course will take place as an on-site event at JSC. It will be held in English.
Course Content
GPU-accelerated computing drives current scientific research. Writing fast numeric algorithms for GPUs offers high application performance by offloading compute-intensive portions of the code to a GPU.
This basic course will cover aspects of GPU architectures and programming. Focus is on the usage of the parallel programming language CUDA C++, which allows maximum control of NVIDIA GPU hardware. Examples of increasing complexity are used to demonstrate the optimisation and tuning of scientific applications.
The course covers the foundations of GPU programming including an introduction to GPU/parallel computing, programming with CUDA, GPU libraries, tools for debugging and profiling, and performance optimisations:
A) Introduction to GPUs and GPU computing
B) Programming model CUDA
C) Tools for debugging and profiling
D) GPU libraries (like cuBLAS, cuFFT)
E) Introduction to multi-GPU programming
Note: In addition to this basic course, you can also register for the advanced course GPU Programming Part 2: Special and Advanced Topics. It provides more in-depth coverage of multi-GPU programming, modern CUDA concepts, CUDA Fortran, and portable programming models such as OpenACC and C++ parallel STL algorithms. The advanced course consists of five modules. Attendees are invited to pick and choose the modules they want to attend. The advanced modules are mostly freestanding.
In order to participate in the advanced course, participants either need to attend the "GPU Programming Part 1: Foundations" course first or prove equivalent knowledge of GPU programming. The advanced course will take place online from 29 June to 3 July 2026. Please visit GPU Programming Part 2: Special and Advanced Topics for more information and to register.
Prerequisites:
Some knowledge about Linux, e.g. make, command line editor, Linux shell, experience in C/C++
A personal institutional email address (university/research institution, government agency, organisation, or company) is required to register for JSC training courses. If you don't have an institutional email address, please get in touch with the contact person for this course.
Target Audience:
Scientists who want to use GPU systems
Language:
This course is given in English.
Duration:
3 days
Dates:
24.-26.03.2026, 09:00-16:30 each day
Venue:
Jülich Supercomputing Centre, building 16.3, room 213a (Ausbildungsraum 1)
Number of Participants:
Maximum 26
Instructors:
Jan Meinke, Andreas Herten, Kaveh Haghighi-Mood (JSC)
Laura Morgenstern (NVIDIA)
Registration:
Please register here: https://indico3-jsc.fz-juelich.de/event/294/