Home Knowledge Base Bank Conflicts

Bank Conflicts are a GPU performance bottleneck that occurs when multiple threads in a warp simultaneously access different addresses within the same shared memory bank — causing memory accesses to be serialized rather than executed in parallel, potentially reducing shared memory throughput by up to 32× in the worst case, making bank conflict avoidance one of the most critical optimizations for high-performance CUDA kernels used in deep learning inference and training.

What Are Bank Conflicts?

Bank Conflict Severity

ScenarioThreads ConflictingThroughput ImpactExample
No conflict0100% (optimal)Stride-1 access pattern
2-way conflict2 per bank50%Stride-2 access
4-way conflict4 per bank25%Stride-8 access
32-way conflictAll 323% (worst case)All threads same bank, different addr
BroadcastAll same address100%All threads read same value

Common Causes in Deep Learning

Avoidance Techniques

Bank conflicts are the hidden performance killer in GPU shared memory access — causing up to 32× throughput reduction when multiple warp threads hit the same memory bank, making conflict-free access patterns through padding, swizzling, and layout optimization essential for achieving peak performance in CUDA kernels for deep learning.

bank conflictsoptimization

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.