0Pricing
CUDA Academy icon

CUDA Academy

CPPEnterpriseDesktopAi

Program the GPU with CUDA C++. From threads and memory hierarchy to kernels, optimization, and real parallel computing.

🤖 AI-Powered📚 30 courses👥 100,000+ learners⭐ 4.9 rating
Course Overview

CUDA: GPU Programming with C++

Program the GPU with CUDA C++. From threads and memory hierarchy to kernels, optimization, and real parallel computing. This track covers 30 progressive mini-courses from absolute beginner (A1) through advanced (B2), with short focused lessons and quick quizzes to lock in each concept.

What You Will Learn

You start with the fundamentals and build up through intermediate and advanced topics, each course building on the last. Every lesson is practical and bite-sized, with a 24/7 AI tutor available when you need help.

How It Works

Each course is broken into four focused, bite-sized lessons. Complete a few lessons a day and you will master the full track in weeks, not months.

Start Learning →

How You'll Learn

🎯
Interactive Lessons
Hands-on coding exercises with real-time feedback
🤖
AI Tutor
Get instant help from our AI when you're stuck
💻
Built-in Editor
Write and run code directly in your browser
🏆
Certificate
Earn a certificate when you complete the course
Curriculum

30 Courses

Every course in the CUDA Academy learning path.

01

Why GPUs Crush Parallel Work

A14 lessons

Explain what a GPU is and why thousands of small cores beat a few fast CPU cores on parallel problems.

02

Set Up Your CUDA Toolchain

A14 lessonsPRO

Install the CUDA Toolkit, verify your driver, and compile your first program with nvcc.

03

Host vs Device: Two Worlds

A14 lessonsPRO

Distinguish CPU host code from GPU device code and know which memory each side can touch.

04

Write Your First Kernel

A14 lessonsPRO

Define, launch, and run a GPU kernel that prints from inside the device.

05

Threads, Blocks, and Grids

A14 lessonsPRO

Map a problem onto CUDA's hierarchy of threads, blocks, and the grid.

06

Global Thread Indexing

A24 lessonsPRO

Compute a unique global index so each thread handles exactly one data element.

07

Manage Device Memory

A24 lessonsPRO

Allocate and free GPU memory and understand the device heap.

08

Move Data with cudaMemcpy

A24 lessonsPRO

Transfer arrays between host and device in both directions reliably.

09

Build Vector Addition End to End

A24 lessonsPRO

Write a complete C = A + B program on the GPU from allocation to verification.

10

Catch CUDA Errors Properly

A24 lessonsPRO

Detect and report CUDA failures from API calls and kernel launches.

11

Map the CUDA Memory Hierarchy

B14 lessonsPRO

Choose the right memory space among global, shared, constant, local, and registers.

12

Coalesce Global Memory Access

B14 lessonsPRO

Lay out access patterns so a warp reads contiguous memory in one transaction.

13

Master On-Chip Shared Memory

B14 lessonsPRO

Use __shared__ memory and __syncthreads to share data within a block.

14

Tile Algorithms in Shared Memory

B14 lessonsPRO

Apply the load-sync-compute tiling pattern to reuse data and cut global traffic.

15

Tiled Matrix Multiplication

B14 lessonsPRO

Build a shared-memory tiled GEMM that vastly outperforms the naive version.

16

Parallel Reduction Done Right

B14 lessonsPRO

Sum an array on the GPU efficiently using a tree-based reduction.

17

Atomics for Safe Concurrency

B14 lessonsPRO

Use atomic operations to update shared results without race conditions.

18

Overlap Work with CUDA Streams

B14 lessonsPRO

Run kernels and transfers concurrently using non-default streams.

19

Asynchronous Transfers & Pinned Memory

B14 lessonsPRO

Speed up transfers with pinned host memory and async copies in streams.

20

Simplify with Unified Memory

B14 lessonsPRO

Use cudaMallocManaged for one pointer shared by host and device.

21

Tune Occupancy & Launch Config

B24 lessonsPRO

Pick block sizes and limit resources to maximize SM occupancy.

22

Profile Kernels with Nsight

B24 lessonsPRO

Find bottlenecks using Nsight Systems and Nsight Compute metrics.

23

Warp-Level Primitives & Shuffles

B24 lessonsPRO

Exchange data inside a warp with shuffle and vote intrinsics, no shared memory.

24

Advanced Kernel Optimization

B24 lessonsPRO

Apply ILP, loop unrolling, and vectorized loads to squeeze peak performance.

25

Scale Across Multiple GPUs

B24 lessonsPRO

Split work over several GPUs and move data directly between them with P2P.

26

Accelerate with cuBLAS & Thrust

B24 lessonsPRO

Call NVIDIA's tuned libraries for GEMM, sorting, and parallel algorithms.

27

Dynamic Parallelism & CUDA Graphs

B24 lessonsPRO

Launch kernels from the device and capture work into reusable CUDA graphs.

28

Program Tensor Cores

B24 lessonsPRO

Use mixed-precision tensor cores via the WMMA API for fast matrix math.

29

Debug with cuda-gdb & Sanitizer

B24 lessonsPRO

Hunt down crashes, races, and memory errors with CUDA's debugging tools.

30

Capstone: A GPU Image Pipeline

B24 lessonsPRO

Combine kernels, streams, and profiling into a real GPU-accelerated image processor.

FAQ

Frequently Asked Questions

Is the CUDA Academy course free?

Yes. You can start the CUDA Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn CPP?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior CPP experience.

How will I learn CPP on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing CUDA Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the CUDA Academy course.

Can I learn CPP on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn CPP on any device and your progress syncs across them.

Start CUDA Academy Now

Join thousands of learners mastering programming with AI-powered lessons.

Get Started Free →Browse All Courses