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 5
CUDA Memory Optimization
Optimizing Global Memory Coalescing
Explain the concept of global memory coalescing and write code that satisfies coalescing requirements.
2
Coalesced vs. Uncoalesced Memory Access
Write a kernel to demonstrate coalesced vs. uncoalesced memory access and measure the performance impact.
3
Optimizing Data Access with Shared Memory
Declare and use shared memory within a kernel to facilitate data reuse and reduce global memory traffic.
4
Synchronizing Threads with `__syncthreads()`
Use `__syncthreads()` to correctly synchronize threads within a thread block.
5
Tiled Matrix Transposition with Shared Memory
Implement a tiled algorithm using shared memory for an operation like matrix transposition.
6
Understanding and Avoiding Shared Memory Bank Conflicts
Explain what a shared memory bank conflict is and how to organize data access to avoid them.
7
Optimizing Data Fetches: Read-Only Cache & Constant Memory
Describe the roles of the read-only data cache and constant memory in optimizing data fetch patterns.
Previous module
CUDA Programming Fundamentals
Next module
Warp Execution and Synchronization