Course/Event Essentials
Training Content and Scope
Other Information
Overview:
This training course will focus on the fundamentals of CUDA Programming Language. The aim is to show how coding and running an algorithm on the graphics processing unit (GPU) differs than coding and running an algorithm on the central processing unit (CPU). And we will discuss what kind of algorithms are suitable for running them on the GPU and which approaches should be followed in order to run them on the GPU efficiently.
Description:
This training event will consist of 4 lecture hours in one day. The important concepts of writing a computer program with CUDA Programming Language will be taught. In the beginning, we will show how we run the applications on the CPU by using OpenMP (Open Multi-Processing) API. Then we will show how we run the applications on the GPU by using CUDA Programming Language. And then, we will compare the behaviors of the threads run on the CPU and the threads run on the GPU. Finally, we will focus to “warp”, one of the important physical concepts of the GPU, and will present some examples that show the effects of warps on the performance of the applications run on the GPU.
Content:
- CPU Architecture and OpenMP Threads
- GPU Architecture
- Reasons to Choose GPU
- CUDA Programming Language Concepts
- Example CUDA Codes
Learning Outcomes:
The participants will learn:
- The main differences between the architecture of the CPU and the architecture of the GPU
- The differences between the threads in OpenMP and the threads in CUDA
- Some important concepts of CUDA Programming Language
- The effects of warp on the performance of the application in CUDA
Prerequisite:
- Basic knowledge of OpenMP
- Basic knowledge of CUDA