Course/Event Essentials
Training Content and Scope
Other Information
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.
The 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 optimization and tuning of scientific applications.
This course is a basic course covering the foundations of GPU programming including an introduction to GPU/parallel computing, programming with CUDA, GPU libraries, tools for debugging and profiling, and performance optimizations.
In addition, an advanced course is available with modules providing 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 modules will be taught from 19-23 June 2023, see the dedicated announcement for registration.
Note: For the first time, the GPU Programming with CUDA course is held in two parts, each with individual modules. This should allow for fine-grained selection of topics of relevance.
Contents of Part 1: Basics of GPU Programming with CUDA
Date: 17–19 April 2023 (this announcement)
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