Global Memory in GPU architecture refers to the main off-chip DRAM accessible by all threads across all streaming multiprocessors (SMs).
What Is Global Memory?
- Capacity: 4GB to 80GB+ on modern GPUs (HBM2/GDDR6)
- Bandwidth: 500GB/s to 3TB/s depending on memory type
- Latency: 400-800 clock cycles (much slower than shared memory)
- Scope: Accessible by all threads in all blocks
Why Global Memory Matters
Global memory is where large datasets, model weights, and results reside. Despite high bandwidth, poor access patterns cause performance bottlenecks.
// Global memory access example
__global__ void kernel(float *globalData) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;
// Coalesced access - threads read consecutive addresses
float val = globalData[idx]; // Good pattern
// Strided access - inefficient, multiple transactions
float val2 = globalData[idx * 32]; // Bad pattern
}
Optimization Tips:
- Coalesce memory accesses (consecutive threads → consecutive addresses)
- Use shared memory as cache for repeated accesses
- Align data structures to 128-byte boundaries
global memorygpu dramcuda memory
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.