CUDA programming Masterclass with C++
What you'll learn
- All the basic knowladge about CUDA programming
- Ability to desing and implement optimized parallel algorithms
- Basic work flow of parallel algorithm design
Course content
- Preview07:48
- Preview08:50
- Preview07:19
- 3 questionsLet's investigate some background.
- 06:12How to install CUDA toolkit and first look at CUDA program
- 16:50Basic elements of CUDA program
- 08:38Organization of threads in a CUDA program - threadIdx
- 06:14Organization of thread in a CUDA program - blockIdx,blockDim,gridDim
- 00:29Programming exercise 1
- 09:20Unique index calculation using threadIdx blockId and blockDim
- 05:53Unique index calculation for 2D grid 1
- 05:09Unique index calculation for 2D grid 2
- 11:13Memory transfer between host and device
- 01:04Programming exercise 2
- 09:13Sum array example with validity check
- 04:32Sum array example with error handling
- 08:18Sum array example with timing
- 1 questionExtend sum array implementation to sum up 3 arrays
- 05:30Device properties
- 04:17Summary
Requirements
- Basic C or C++ programming knowladge
- How to use Visual studio IDE
- CUDA toolkit
- Nvidia GPU
Description
This course is all about CUDA programming. We will start our discussion by looking at basic concepts including CUDA programming model, execution model, and memory model. Then we will show you how to implement advance algorithms using CUDA. CUDA programming is all about performance. So through out this course you will learn multiple optimization techniques and how to use those to implement algorithms. Also we will extensively discuss profiling techniques and some of the tools including nvprof, nvvp, CUDA Memcheck, CUDA-GDB tools in the CUDA toolkit. This course contains following sections.
Introduction to CUDA programming and CUDA programming model
CUDA Execution model
CUDA memory model-Global memory
CUDA memory model-Shared and Constant memory
CUDA streams
Tuning CUDA instruction level primitives
Algorithm implementation with CUDA
CUDA tools
With this course we include lots of programming exercises and quizzes as well. Answering all those will help you to digest the concepts we discuss here.
This course is the first course of the CUDA master class series we are current working on. So the knowledge you gain here is essential of following those course as well.
Who this course is for:
- Any one who wants to learn CUDA programming from scartch to intermidiate level
Instructor
Software engineer with years of experience in industry with c++ and java programming language. And entrepreneur and founder of intellect. creator of GPU MLIB library which provides GPU optimized parallel implementation of machine learning algorithms. My current project include fashion design framework which allows user to get the live fit on room experience. I am graduate on electrical and information engineering and i currently reading for master in artificial intelligence.