I·Infra Notes AI Infra 工程实践指南 ← 返回主博客
GPU 与算子 / READING NOTES

2.1 存储与访问:先画地址再写优化

CUDA 索引、访存、归约、扫描与 Softmax

层 典型所有权 优化动作 常见误判
Register Thread 复用标量、减少重复计算 过多寄存器造成 spill
Shared Memory Block tile 复用、协作装载 同步遗漏、Bank Conflict
L1/L2 SM/设备缓存 改善局部性 命中率高不代表绝对带宽足够
HBM / Global 设备 合并访问、减少字节 连续逻辑索引不代表物理连续

Coalescing:32 lane 读连续 float 通常比跨 stride 的 32 次散读更容易合并为少量内存事务。Bank Conflict:共享内存同一 Warp 不同地址落同一 bank 会冲突;广播同地址是例外。先根据架构的 bank 组织和元素字节数算映射,再用 Nsight Compute 看 shared load/store 指标。Padding tile[32][33] 是列访问的经典例子,不是所有矩阵都应盲目加一列。