Programming GPUs with CUDA and C/C++

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Mixed

Venue Information

Country: Czech Republic
Venue Details: Click here

Training Content and Scope

Level of Instruction
Beginner
Intermediate
Sector of the Target Audience
Research and Academia
Language of Instruction

Other Information

Event/Course Description

Annotation

The main goal of the course is to introduce how to program GPU-accelerated applications using CUDA programming.  

We will describe the main principles of heterogeneous or accelerated computing (with a short hardware description of the GPU-accelerated supercomputers) needed to properly understand how to design CUDA code.

The course is designed for beginners in GPU programming using CUDA. It will explain how the parallelisation is done with basic examples, how data transfers are managed between CPU and GPU memory, what types of memory there are in GPU and how to use them, how the parallel threads are executed, and finally, we will explain several key parallel computing patterns in CUDA.

As the course will use the Karolina supercomputer, we will also demonstrate how to write single and multi-GPU applications.