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 7
Parallel Primitives in CUDA
1
Naive Parallel Reduction: Inefficiencies of Divergence and Non-Coalesced Access
Implement a naive parallel reduction and analyze its inefficiencies from divergence and non-coalesced access.
2
Optimizing Parallel Reduction with Shared Memory and Sequential Addressing
Optimize a parallel reduction by using sequential addressing and shared memory to improve performance.
3
Warp Shuffle for Optimized Reductions
Further optimize the reduction using warp shuffle instructions for efficient intra-warp communication.
4
Atomic Histograms
Implement a parallel histogram kernel using atomic operations to handle contention.
5
Implementing Blelloch Scan: Single-Thread Block Up-Sweep
Implement the up-sweep (reduction) phase of the Blelloch scan algorithm within a single thread block.
6
Implementing the Down-Sweep Phase in Exclusive Scan
Implement the down-sweep phase to complete a single-block exclusive scan algorithm.
7
CUDA Gather and Scatter
Implement gather and scatter parallel data movement patterns in CUDA kernels.
Previous module
Warp Execution and Synchronization
Next module
Performance Analysis and Asynchronous Operations