[Online] Introduction to CUDA C/C++
Online
Introduction to CUDA C/C++

Schedule & Format
- Date: 2026, September 3-4
- Times:
- Sep 3: 9:00 - 13:00 CE(S)T
- Sep 4: 9:00 - 13:00 CE(S)T
- Format: Two half-days
- Location: Online via Zoom
- Language: English
Registered participants will receive the video conferencing link via email on the day before the course.
From Zero to Multi-Node GPU Programming
This event is part of the From Zero to Multi-Node GPU Programming series. Registration is done individually for each part of the series.
- Part 1 - Introduction to CUDA C/C++ (this course) (2026, September 3-4) (Register)
- Part 2 - Scaling CUDA C++ Applications to Multiple Nodes (2026, September 7-9) (Register)
Instructors
- Markus Velten, NHR@TUD, certified NVIDIA DLI Ambassador
- Dr. Sebastian Kuckuk, NHR@FAU, certified NVIDIA DLI Ambassador
- Aditya Ujeniya, NHR@FAU
This course is organized by Erlangen National High Performance Computing Center (NHR@FAU) in collaboration with NHR@TUD.
Course Description
CUDA is NVIDIA's parallel computing platform for GPU-accelerated C/C++ applications. The course covers the full arc from writing and running a first GPU kernel, through systematically porting existing CPU code to the GPU, to understanding the execution model and optimizing with shared memory, atomics, and reductions. Short teaching segments alternate with exercises in interactive Jupyter notebooks; optional modules extend the course to debugging techniques and CUDA streams.
This course was developed as an updated replacement for the discontinued Fundamentals of Accelerated Computing with CUDA C/C++ NVIDIA DLI course. NVIDIA DLI's own successor in this space, the Fundamentals of Accelerated Computing with Modern CUDA C++, is also offered by NHR@FAU and covers the similar fundamentals, but with a strong focus on modern C++ and Thrust.
Prerequisites
Knowledge
- C or C++ programming experience, including variables, loops, conditionals, functions, and arrays
Technical
- A modern web browser (for JupyterHub access to NHR@FAU's HPC clusters)
- A local installation of NVIDIA Nsight Systems (no local GPU required)
Course Structure
- Introduction: GPU computing overview, course tooling, and interactive Jupyter notebook workflow
- First GPU application: CUDA kernel syntax, compilation, and the thread hierarchy
- Porting applications to GPU: systematic porting approach and GPU memory management
- GPU architecture: the thread execution model and selecting execution configurations
- Reductions, atomics, and shared memory: avoiding race conditions and optimizing reduction patterns on GPUs
- [Optional] Debugging CUDA applications: techniques for debugging GPU applications and writing robust code
- [Optional] CUDA streams: concurrent kernel execution and copy/compute overlap
Learning Outcomes
After completing this course, you will be able to:
- Write, compile, and run GPU-accelerated C/C++ code using CUDA
- Map computations to CUDA's thread hierarchy and launch kernels with suitable execution configurations
- Systematically port existing CPU applications to the GPU following a structured porting workflow
- Understand the GPU execution model and its implications for choosing thread block sizes and grid dimensions
- Use shared memory, atomic operations, and optimize reduction patterns
- Profile GPU applications with NVIDIA Nsight Systems to identify and address performance bottlenecks
- [Optional] Use CUDA streams for concurrent kernel execution and copy/compute overlap
Registration, Wait List and Withdrawal Policy
Registration
Please register at the bottom of this page. Registration is open until a few days before the course starts, or until the course is fully booked.
Prices and Eligibility
This course is open and free of charge for participants affiliated with academic institutions in European Union (EU) member states and Horizon 2020-associated countries.
Wait List
If the course reaches its maximum capacity, you can request to join the wait list by sending an email to nhr-training@fau.de. Please include your name and university affiliation in the message.
Withdrawal Policy
Please only register if you are committed to attending the course. No-shows will be blacklisted and excluded from future events.
If you need to withdraw your registration, please either cancel it directly through the registration system or send an email to nhr-training@fau.de.
Additional Courses
You can find an up-to-date list of all courses offered by NHR@FAU at https://hpc.fau.de/teaching/tutorials-and-courses/.