Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering GPU Parallel Programming with CUDA: ( HW & SW )
Bestseller
Rating: 4.3 out of 5(645 ratings)
6,320 students

Mastering GPU Parallel Programming with CUDA: ( HW & SW )

Performance Optimization and Analysis for High-Performance Computing
Created byHamdy egy
Last updated 10/2025
English

What you'll learn

  • Comprehensive Understanding of GPU vs CPU Architecture
  • learn the history of graphical processing unit (GPU) until the most recent products
  • Understand the internal structure of GPU
  • Understand the different types of memories and how they affect the performance
  • Understand the most recent technologies in the GPU internal components
  • Understand the basics of the CUDA programming on GPU
  • Start programming GPU using both CUDA on Both windows and linux
  • understand the most efficient ways for parallelization
  • Profiling and Performance Tuning
  • Leveraging Shared Memory

Course content

12 sections58 lectures23h 3m total length
  • GPU vs CPU (very important)20:49
  • NVidia's history (How Nvidia started dominating the GPU sector)5:18
  • Architectures and Generations relationship [Hopper, Ampere, GeForce and Tesla]16:07
  • How to know the Architecture and Generation6:56
  • The difference between the GPU and the GPU Chip4:50
  • The architectures and the corresponding chips5:25
  • Nvidia GPU architectures From Fermi to hopper12:24
  • Parameters required to compare between different Architectures24:05

    Please don't skip this video. It is pivotal for the the whole course.

  • Half, single and double precision operations6:26
  • Compute capability and utilizations of the GPUs8:30
  • Before reading any whitepapers !! look at this8:42
  • Volta+Ampere+Pascal+SIMD (Don't skip)52:08

Requirements

  • C and C++ basics
  • Linux and windows basics
  • Computer Architecture basics

Description

This hands-on course teaches you how to unlock the huge parallel-processing power of modern GPUs with CUDA. You’ll start with the fundamentals of GPU hardware, trace the evolution of flagship architectures (Fermi → Pascal → Volta → Ampere → Hopper), and learn—through code-along labs—how to write, profile, and optimize high-performance kernels.

This is an independent training resource. It is not sponsored by, endorsed by, or otherwise affiliated with NVIDIA Corporation. “CUDA”, “Nsight”, and the architecture codenames are trademarks of NVIDIA and are used here only as factual references.

What you’ll master

  • GPU vs. CPU fundamentals – why GPUs dominate data-parallel workloads.

  • Generational design advances – the hardware features that matter most for performance.

  • CUDA toolkit installation – Windows, Linux, and WSL, plus first-run sanity checks.

  • Core CUDA concepts – threads, blocks, grids, and the memory hierarchy, built up with labs such as vector addition.

  • Profiling & tuning with Nsight Compute / nvprof – measure occupancy, hide latency, and break bottlenecks.

  • 2-D indexing for matrices – write efficient kernels for real-world linear-algebra tasks.

  • Optimization playbook – handle non-power-of-two data, leverage shared memory, maximize bandwidth, and minimize warp divergence.

  • Robust debugging & error handling – use runtime-API checks to ship production-ready code.

By the end, you’ll be able to design, analyze, and fine-tune CUDA kernels that run efficiently on today’s GPUs—equipping you to tackle demanding scientific, engineering, and AI workloads.

Who this course is for:

  • For any one interested in GPU and CUDA like engineering students, researchers and any other one