EuroCC 2 - Parallel Programming with CUDA

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Online

Venue Information

Country: Turkey
Venue Details: Click here

Training Content and Scope

Technical Domain
Level of Instruction
Beginner
Intermediate
Sector of the Target Audience
Research and Academia
Industry
Public Sector
Other (general public...)
HPC Profile of Target Audience
Application Users
Data Scientists
Language of Instruction

Other Information

Organiser
Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description

In this training, the basic concepts of creating a program with CUDA will be taught. On the first day, at first, we will show how the programs created by OpenMP run on the CPU in parallel. Then, we will show how the programs created by CUDA run on the GPU in parallel. Further, the differences between the execution of the threads on the CPU and the execution of the threads on the GPU will be discussed. Moreover, the hardware and software concepts of the CUDA programming language will be discussed and the necessary commands and functions to create programs will be mentioned. At the end of the day, participants are expected to write the CUDA code of a sample problem so that they can practice. On the second day, we will mention some important issues related to the optimizations of the CUDA code such as Coalesced Access to Global Memory and Warp Divergence. Then, we will mention how the CUDA kernels run on a single GPU or multi-GPU by using CUDA streams. At the end of the day, participants are expected to write the CUDA code of a sample problem so that they can practice.