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.
DS 221 AUG 3:1 Introduction to Scalable Systems (VSS/YS)
·
Module 8
Massively Parallel Programming with CUDA
1
Introduction to the CUDA Programming Model
Explain the CUDA programming model: host, device, kernels, and thread hierarchy (threads, blocks, grids)
2
GPU Memory Management & Data Transfer
Manage GPU memory allocation and data transfers between host and device (cudaMalloc, cudaMemcpy)
3
Launching CUDA Kernels for Element-wise Operations
Write and launch a basic CUDA kernel for an element-wise vector operation
4
GPU Memory Spaces and Their Use Cases
Describe the different GPU memory spaces (global, shared, constant, registers) and their use cases
5
Memory Coalescing for Global Memory Access
Optimize global memory access by ensuring memory coalescing
6
Optimizing CUDA Kernels with Shared Memory
Use shared memory to reduce global memory traffic in a CUDA kernel
7
Thread Synchronization with __syncthreads()
Synchronize threads within a block using __syncthreads() to coordinate computation
8
GPU Parallel Reduction with Shared Memory
Implement a parallel reduction on the GPU using shared memory
Previous module
Distributed-Memory Parallelism with MPI
Next module
Infrastructure for Scalable Systems