两条主线

tile:把数据搬进 shared memory 或寄存器后,让更多计算复用它。复用不足时,额外搬运与同步可能反而增加开销。

pipeline:计算当前块时,提前准备下一块。双缓冲提供两份工作区,但必须有真正可重叠的执行,且等待与复用时机正确。

别漏掉资源约束

更大的 tile、更多 stage 会占用 shared memory 和寄存器,可能降低并发。先验证数值正确,再对真实输入测量,不套用统一的“最佳配置”。

建议实验:同一输入下比较基线、tile、tile + pipeline,分别记录 kernel 和端到端时间,确认收益有没有传到客户服务。

详细解释:CUDA 优化核心思想。相关:gpu-memory、measurement。

参考:NVIDIA CUTLASS Efficient GEMM。