CUDA 内存速查表
一页读懂 SGEMM kernel 的关键内存知识
合并访问速记
- 同一个 warp 的相邻线程,应尽量访问相邻地址。
- 当
N很大时,B[k * N + col]容易让相邻线程产生大步长访问。 - 分块不仅是复用数据,也是在重塑访问模式,让加载更合并。
Tensor Core 内存提示
| 主题 | 记住这点 |
|---|---|
| 对齐约束 | WMMA 路径通常要求维度按 16 对齐,片段处理才高效 |
| 数据转换 | 端到端耗时包含转换和 wrapper 逻辑 |
| 安全行为 | 不友好 shape 应回退到 FP32 路径 |
| 结果汇报 | 要区分端到端与仅计算数据 |
读 kernel 的快速清单
- 能否解释一个 warp 的全局内存访问顺序?
- 共享内存布局是否显式考虑 bank 冲突?
- 寄存器累加器是否受控且必要?
- Tensor Core 回退行为是否清晰?
- benchmark 标签是否和真实测量路径一致?