For earlier and updated courses, see branches.
Modern high core count CPUs and accelerators, such as GPUs, have been shown to provide significant performance benefits in many different applications. However, for a novice, or even for a moderately experienced scientist or programmer, it is not always clear which applications could potentially benefit from these resources and which do not. For example, a Nvidia V100 GPU can perform artificial intelligence (AI) related computations in a fraction of the time it takes a regular CPU to perform the same computations but ill-informed OpenACC compiler pragma can actually make a code run slower. Why is this? When should one invest time in parallelization and/or GPU-acceleration? How much speedup can be expected with a given application?
This HPC2N course is part of the PRACE Training courses.
Purpose: The main goal of this two-day online course is to start answering these questions. The course also covers the basics of GPU programming and aims to provide the necessary information for avoiding the most common pitfalls.
Requirements: The course does not require any existing GPU programming knowledge but basic understanding of the C language and parallel programming are required for the hands-ons.
Lecture recordings: YouTube playlist
Date: 2020-11-04 and 2020-11-05 (two day course)
Time: 9:00-17:00 each day
Location: Online
Instructor: Mirko Myllykoski (HPC2N)
Helpers: Pedro Ojeda-May (HPC2N), Birgitte Brydsö (HPC2N)