Skip to main content

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.

Fees

See course registration page.