
Get started with GPU programming the easy way.
In this intro, I will walk you through the course structure, learning goals, and what makes this course unique
In this lesson, you’ll learn why GPUs are the powerhouses behind modern AI, graphics, and scientific computing. We’ll break down the architectural differences between CPUs and GPUs — from how their cores are designed to how they execute instructions. You’ll discover why GPUs excel at parallel workloads and when (and when not) to use them.
Through visual diagrams and relatable analogies, we’ll make complex hardware concepts intuitive and memorable.
In this lecture, we’ll explore one of the most common questions in computer hardware and GPU computing — what’s the difference between integrated and dedicated GPUs? We’ll also dive into the major industry players: Compare NVIDIA vs Intel/AMD options, By the end of this lecture, you’ll clearly understand the trade-offs between performance, cost, power efficiency, and upgradability — helping you choose the right GPU setup for your needs, whether it’s a lightweight laptop or a powerful workstation
In this lecture, we explore the foundation of NVIDIA’s GPU computing platform — CUDA. We’ll break down the CUDA programming model. You’ll also discover the NVIDIA GPU computing stack, broader NVIDIA ecosystem, and how CUDA integrates with popular programming languages and AI frameworks.
You will learn how to verify if your GPU supports CUDA by checking its compute capability in Google Colab. You’ll enable GPU runtime, run !nvidia-smi, check CUDA availability in PyTorch, and match specs on NVIDIA’s site.
In this lecture, you’ll learn the fundamentals of the CUDA programming model — how Host (CPU) and Device (GPU) work together to accelerate computation.
We’ll break down how kernels are written and launched using CUDA syntax, and how threads, blocks, and grids enable massive parallelism.
You’ll also see the complete CUDA workflow — from memory allocation and data transfer to kernel execution and synchronization — giving you a strong foundation to start writing real GPU code.
In this hands-on lecture, you’ll set up Google Colab for CUDA development and write your first GPU program
Learn how to use NVCC to compile and run CUDA code directly in Colab. and see real GPU computation in action
In this lecture, you’ll learn how CUDA organizes parallel execution using threads, blocks, and grids.
Understand how threads work as individual execution units, how blocks group threads for shared memory and synchronization, and how grids enable massive parallelism.
You’ll also see practical examples of thread indexing, global thread IDs, and kernel launches — giving you the foundation to scale your CUDA programs efficiently across thousands of threads.
In this lecture, you’ll learn how to map GPU threads efficiently to your data using 1D and 2D indexing.
Understand how threadIdx, blockIdx, and blockDim define each thread’s unique role in vector and matrix operations.
Through practical CUDA code examples, you’ll see how to compute global thread IDs for both linear and 2D data layouts — a key skill for writing scalable, high-performance GPU kernels.
In this lecture, you’ll learn how to benchmark and compare CPU vs GPU performance using a simple vector addition example. You’ll write both CPU and CUDA versions, measure execution time using chrono and CUDA Events, and visualize how GPU parallelism delivers massive speedups for large data sizes. By the end, you’ll understand why GPUs outperform CPUs in parallel workloads and how to run your own CUDA performance experiments.
Get exclusive CUDA tutorials, performance optimization guides, and early access to new lessons
This course takes you on a practical journey into GPU-accelerated computing using NVIDIA CUDA — the most widely used platform for parallel programming. Whether you’re a student, engineer, or developer, you’ll learn how to harness thousands of GPU cores to achieve performance levels far beyond what CPUs can offer.
Starting from the fundamentals of GPU architecture, you’ll gradually move into hands-on CUDA programming — understanding threads, blocks, grids, and how to map computations efficiently across GPU hardware
What You’ll Learn
Why GPUs are essential for high-performance computing
Difference between Integrated vs. Dedicated GPUs
What CUDA is and how it enables parallel processing
The NVIDIA GPU computing stack explained — hardware to software
Understanding Compute Capability and how it affects performance
The CUDA programming model: Host vs. Device execution
Writing your first CUDA program: Hello World
Deep dive into Threads, Blocks, and Grids
Thread indexing for efficient parallel computation
CPU vs GPU performance comparison through practical examples
Quizzes to reinforce key concepts at every stage
Why Take This Course?
Taught by an expert with real-world experience in GPU-based signal processing and AI
Combines theory with hands-on CUDA coding examples
Learn to think in parallel and optimize your algorithms for performance
Prepare yourself for a career in AI, scientific computing, data processing, or graphics programming