Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Parallel programming with CUDA platform
Rating: 4.2 out of 5(1,873 ratings)
15,131 students
Created byKasun Liyanage
Last updated 7/2025
English

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
  • Advance CUDA concepts

Course content

8 sections83 lectures10h 47m total length
  • Very very important7:48
  • Introduction to parallel programming8:50
  • Parallel computing and Super computing7:19
  • Let's investigate some background.
  • How to install CUDA toolkit and first look at CUDA program6:12
  • Basic elements of CUDA program16:50
  • Organization of threads in a CUDA program - threadIdx8:38
  • Organization of thread in a CUDA program - blockIdx,blockDim,gridDim6:14
  • Programming exercise 10:29
  • Unique index calculation using threadIdx blockId and blockDim9:20
  • Unique index calculation for 2D grid 15:53
  • Unique index calculation for 2D grid 25:09
  • Memory transfer between host and device11:13
  • Programming exercise 21:04
  • Sum array example with validity check9:13
  • Sum array example with error handling4:32
  • Sum array example with timing8:18
  • Extend sum array implementation to sum up 3 arrays
  • Device properties5:30
  • Summary4:17

Requirements

  • Basic C or C++ programming knowladge
  • How to use Visual studio IDE
  • CUDA toolkit
  • Nvidia GPU
  • You should be familiar with basic setup of a C++ project, how to change project properties etc

Description

This course is an in-depth, unofficial guide to parallel programming using GPU computing techniques with C++. We'll begin by exploring foundational concepts such as the GPU programming model, execution structure, and memory hierarchy. From there, you’ll dive into hands-on development, implementing advanced parallel algorithms optimized for high-performance graphics processors.


Since performance is at the heart of GPU-based computing, this course places a strong emphasis on optimization techniques. You’ll learn how to fine-tune your code for maximum speed and efficiency, and apply industry-standard tools for profiling and debugging, including nvprof, nvvp, memcheck, and GDB-based GPU debuggers.

The course includes the following core sections:

  • Introduction to GPU programming concepts and execution models

  • Understanding execution behavior on parallel processors

  • Deep dive into memory systems: global, shared, and constant memory

  • Using streams to manage concurrent execution

  • Fine-tuning instruction-level behavior for performance

  • Implementing real-world algorithms using GPU acceleration

  • Profiling and debugging tools overview

To reinforce learning, this course includes programming exercises and quizzes designed to help you internalize each concept.

This is the first course in a masterclass series on GPU-based parallel computing. The knowledge you gain here will form a strong foundation for exploring more advanced topics in future courses.

As GPUs continue to drive innovation in fields like AI and scientific computing, mastering these tools and techniques will set you apart in the tech industry.


Note: This course is not affiliated with or endorsed by NVIDIA Corporation. CUDA is a registered trademark of NVIDIA Corporation, used here solely for educational reference purposes.


Who this course is for:

  • Any one who wants to learn CUDA programming from scartch to intermidiate level