Mastering Parallel programming with CUDA platform (Udemy.com)
Unofficial guide to parallel programming on GPU's with CUDA from basic concepts to advance algorithm implementations.
Created by: Kasun Liyanage
Last updated July 2025
What you will 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
How it compares
Against the other 518 rated Udemy courses in Software Development on CourseDuck:
- Rating4.0 out of 5higher than 2% of them
- Reviews1,887#88 of 519 by number of reviews
- Length10.8 hourslonger than 70% of them
- Last updatedJuly 2025earlier than 53% of them
Course 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.
Instructor Details
- 4.0 Rating
1,887 Reviews
Kasun Liyanage
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.
More courses by Kasun Liyanage
Modern C++ Multithreading & Lock-Free Programming(C++20/23) (2026)
4.2 (1,987 Reviews)
Provider: Udemy
Time: 10.8h
$13.99
More Software Development courses
MATLAB Programming Simulink: Beginner to Pro with ChatGPT (2026)
5.0 (930 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
Terraform 101: The Ultimate Hands-On Guide [Azure Edition] (2025)
4.8 (1,975 Reviews)
Provider: Udemy
Time: 11.9h
$94.99
Reviews
By Pravin Jethawa on 4/20/2025
Great Deep Dive into CUDA with Practical C++ Examples This course offers a solid and thorough introduction to CUDA programming using C++. The instructor explains core concepts like memory hierarchy, kernel launches, and parallel thread execution very clearly. I especially appreciated the hands-on examples and real-world applications — they really helped solidify my understanding. The course structure is well-organized, and the pace is good even for someone new to GPU programming. I also liked that it goes beyond the basics and touches on optimization techniques and profiling tools like Nsight. Overall, it’s a fantastic course if you want to get serious about CUDA development with C++, especially for high-performance computing, computer vision, or deep learning. Overall, it’s a fantastic course if you want to get serious about CUDA development with C++ — especially for high-performance computing, computer vision, or deep learning.
By Ramon Caballero Villegas on 1/30/2025
Very good explanation of CUDA and GPU architecture, but some concepts are outdated, such as device synchronization within a kernel. Nvidia has also deprecated the nvprof profiling tool in favor of the NSight applications, which provide full feature parity but in a graphical user interface, which the course does not cover. Overall, this is a great introduction into the world of CUDA programming.
By Sushant Joshi on 7/11/2024
I am about to complete the second section of this course, and over all feel, its a good course, but a bit poorly executed. The accent /voice doesn't bother me, these folks are not native English speaker and we have to live with it. However, the slides are not properly designed, a few minor and obvious errors which could be improved. some irritating mouse/keyboard clicking sound every now or then. But the most IMPORTANT of all, some aspects being taught are not 100% correct. For e.g. in section 2 instructor implements vector reduction in various ways to reduce warp divergence and suggest why one implementation is better than other. (the run time /profiling data backs his claim that some implementations are indeed better than other). But if you think about it, some of those implementations either never had warp divergence, (it only happens when their is branching, not just conditional statement) or those divergences could have very easily be avoided by making trivial changes. I would suggest keep this course as a good "overall" course, think about these concepts etc, but do confirm these concepts with other resources. Don't blindly trust the smaller finer details. Overall, still a decent good course, especially if you are new to CUDA.
By Gustavo Oliveira on 1/20/2024
Mr. Liyanage has curated an exemplary GPGPU course utilizing Cuda, establishing it as an indispensable resource for comprehending the fundamental aspects of computer programming with Cuda. Employing straightforward algorithms, he adeptly elucidates intricate concepts in GPU programming. It is noteworthy that the course predominantly revolves around Cuda and NVidia architecture. However, the underlying principles concerning arrays of working times, occupancy, and synchronization can seamlessly translate to AMD hardware. Therefore, its applicability extends beyond NVidia, as one can effortlessly substitute "warps" with "wavefronts" to accommodate AMD systems. While the current course provides a solid foundation, I would like to propose the development of a sequel course by Mr. Liyanage. Such a continuation could delve into the practical implementation of algorithms, specifically in areas like image processing, physics simulations, and machine learning. This enhancement would undoubtedly contribute to the course's comprehensiveness and practical utility. I extend my commendations to Mr. Liyanage for his outstanding work and eagerly anticipate the prospect of a sequel.
By Phuoc-Hoan Charles Le on 7/30/2023
All of the sections except section 7 are good. For Section 7, I don't understand what is going on or what are the applications for a parallel scan algorithm. Also in Section 7, it seems incomplete or as if parts of the lessons in Section 7 are deleted. For example, "Parallel Compact Algorithm" clip in Section 7, seems to be just thrown in there with no context and I was just left off at how the CSR format works, but I was never shown the implementation of it at all.
By Cole Clark on 1/8/2021
This is a decent course, but it has a lot of shortcomings. Sections 2-6 I felt like I learned a lot of interesting things about CUDA, section 1 was okay, but sections 7 and 8 were clearly incomplete and barely comprehensible. There's also a lot of strangeness with the code on screen vs. the code you are meant to follow along with--they don't have a consistent pattern of either reading complete code, or copying along with the teacher. There are a few 'assignments', but as far as I can tell the teacher just rubber stamps all responses without checking if they are actually correct or not. Should you buy this course? Maybe, if you want your hand held a little bit while learning the basics. If you are a go-getter, you can probably get a solid introduction from other places or by reading the cuda toolkit docs / examples. If you do this course, don't worry about the assignments, and skip the last two sections.
By Marco Antonio Peredo Tiburcio on 11/12/2020
The technical part was good. In general great examples and explanations to understand the programming and memory model. I also liked how you approached the hardware explanation. Unfortunately, I have the feeling there is a lack of practical exercises. It would had been really useful to put in practice the theory learned. I also have the feeling that the Bonus section feels kind of incomplete. It is mentioned that there will be lectures for image processing using CUDA but no lecture so far touches that point. Last but not least, I found way to many grammatical mistakes in the slides. It would be nice to correct that.
By Daniel Stone on 12/13/2019
Extremely useful so far, excellent use of code examples to demonstrate concepts. Focus on different types of performance metrics particularly helpful. Amount of student assessment drops off after Section 1. Make sure to take notes in the lectures, and run and tinker with the code examples to get the most of the course! Good news for Linux users: there is some Windows bias but it's very light. Despite the note in the requisites section VS is not necessary for the course (so far). Much of the crucial concepts taught are demonstrated using nvprof metrics and other options; this means invoking nvprof from the command line with various flags, which is the same in Linux or Windows.
By Daniel Szalko on 11/21/2019
This is a must have course for someone, who wants to program in CUDA. This course will not go all the way to the end, and the final chapter is just a teaser for a hopefully upcoming course, but this is the place to get all the essentials and it does worth to follow through attentively all the lessons, despite the fact, sometimes the pronounciation fails badly, and most of the timeS the captions are just generated nonsense. All together you SHOULD BUY this course, because the instructor's knowledge and intention is a treasure.
By David Short on 10/4/2019
While the Image Processing section had interesting information, it really didn't tie in with CUDA at all. I found myself passively watching videos instead of actively solving problems. The lack of self paced hands on problems to solve make this more of a set of reference videos than a real learning class. I spent more time fiddling with my ide to get everything downloaded and running correctly than I did actually using the sample code. I feel I received value, but wish there had been more.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 80 / 100




![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)

![Terraform 101: The Ultimate Hands-On Guide [Azure Edition]](/programming/software-development/images/6208847_f60a_7.jpg?v=1791193600)
