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 advanced course consists of 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.
A) Advanced Multi-GPU Programming with MPI
B) Advanced Multi-GPU Programming with NCCL and NVSHMEM
C) Advanced and Modern CUDA Concepts (Cooperative Groups, CUB Primitives, Modern C++ Programming)
D) CUDA Fortran
E) GPU Programming with Abstractions (OpenACC, Standard Language Programming (pSTL))
Attendees are invited to pick and choose the parts of the advanced course (A - E) they want to attend. The advanced modules are mostly freestanding. Participants either need to attend the basics course or prove equivalent knowledge of GPU programming in order to participate in the advanced course.