Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
High-Performance AI Computing
·
Module 4
CUDA Programming Fundamentals
1
Getting Started with CUDA C++ and nvcc
Compile and execute a basic CUDA C++ program using the NVIDIA C++ compiler (nvcc).
GPU Memory Management with `cudaMalloc` and `cudaFree`
Allocate and deallocate memory on the GPU device using `cudaMalloc` and `cudaFree`.
3
`cudaMemcpy`: Host-Device Data Transfer
Transfer data between host (CPU) and device (GPU) memory using `cudaMemcpy`.
4
CUDA Kernel Fundamentals
Write and launch a CUDA kernel to perform a simple computation, such as element-wise vector addition.
5
Global Thread IDs in CUDA: 1D & 2D Grids
Use CUDA's built-in variables (threadIdx, blockIdx, blockDim) to compute unique global thread indices for 1D and 2D grids.
6
Kernel Bounds Checking for Uneven Input Sizes
Implement bounds checking within a kernel to safely handle input sizes not evenly divisible by the block size.
7
CUDA Error Handling
Implement robust error handling for CUDA API calls and kernel launches.
Previous module
Modern GPU Architecture
Next module
CUDA Memory Optimization