This course will be delivered as an ONLINE COURSE (using Zoom) for remote participation.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only. Registration follows the "first come – first served" principle. For the online course we can take a maximum of 40 persons. Additional registrations will be added to a waiting list.
Furthermore, accepted participants will be contacted a few days before the course and asked to do a short PRE-ASSIGNMENT that has to be completed before the course starts.
The HANDS-ON LABS will be done on VSC-3, all participants will get a training user account at the VSC for the duration of the course.
Overview
CUDA is the standard API for code development targeting the GPU and a number of impressive examples have already been given in diverse areas from particle physics to computational biology. CUDA allows simple extensions of standard C/C++/Fortran code with GPU-specific functions. In this way thousands of cores available on the GPU can be leveraged to work in parallel and thus carry out significant fractions of the computational workload on the device rather than the CPU. There is also a vast set of auxiliary tools available to the developer including libraries, code templates, building blocks, analysis tools, developmental frameworks and in general a vivid community making up the CUDA Developer Zone. It is often for this multifaceted support environment that the interested beginner is feeling overwhelmed and unsettled about which particular first steps should best be taken to gain a straightforward introduction into the subject. For exactly this reason the present course is offering a systematic step-by-step introduction into GPU computing from the perspective of the newcomer. Basic design principles will be established, central programming techniques acquired and a number of state-of-the-art workflows examined that efficiently employ the GPU and are frequently used in scientific computing.
This course provides lectures, demos, and hands-on labs.
This course is a PRACE training event. It is organized by the VSC Research Center, TU Wien.
Agenda & Content (tentative)
1st day – 9 December 2021
- Basic design principles, getting started with simple CUDA routines, mastering the CUDA environment;
- Memory Hierarchy with a focus on CUDA managed unified memory;
- Practical exercise: all the pitfalls one can run into when porting a dummy code to CUDA.
08:45 - 09:00 join online
09:00 - 13:00 lectures and hands-on labs (with breaks: 10:45-11:00)
13:00 - 14:00 lunch break
14:00 - 17:00 lectures and hands-on labs (with breaks: 15:20-15:35)
2nd day – 10 December 2021
- Selected examples to demonstrate CUDA capabilities and GPU operation, e.g., bandwidthTest, simpleAssert, simpleStreams, etc.;
- CUDA libraries, CUBLAS, CUSolver, considering numerical precision, gaining insight into the runtime;
- Practical exercise: CUDA in everyday life (of a scientist).
08:45 - 09:00 join online
09:00 - 13:00 lectures and hands-on labs (with breaks: 10:45-11:00)
13:00 - 14:00 lunch break
14:00 - 17:00 lectures and hands-on labs (with breaks: 15:20-15:35)