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 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.
Topics covered will include
A) Advanced Multi-GPU Programming with MPI
B) Advanced Multi-GPU Programming with NCCL and NVSHMEM
C) Advanced and Modern CUDA Concepts (Cooperative Groups, CUDA Graphs, 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.
The foundations of GPU programming are covered in a dedicated Basic Course which include an introduction to GPU/parallel computing, programming with CUDA, GPU libraries, tools for debugging and profiling, and performance optimizations. Please see the CUDA Basics course for registration.
Prerequisites: Participants either need to attend the basics course or prove equivalent knowledge of GPU programming in order to participate in the advanced course. Some knowledge about Linux, e.g. make, command line editor, Linux shell, experience in C/C++
Dates:
19-23 June 2022, 09:00-13:00 each day
Location: Online
Language: This course is given in English.
Instructors: Dr. Jan Meinke, Dr. Kaveh Haghighi-Mood, Dr. Andreas Herten, JSC; Jiri Kraus, Markus Hrywniak, NVIDIA
Contact
For any questions concerning the course, please send an e-mail to j.meinke@fz-juelich.de