因此, 对于 SMEM 的访存, 此处也有着与 kernel 6 一样的 bank conflict 问题. 具体的分析, 笔者在如何优化 CUDA 矩阵乘内核以获得类似 cuBLAS 的性能: 工作日志#Kernel 7中有具体讨论. 与 kernel 7 相同, 此处主要解决的是对 SMEM 读取(SMEM 到寄存器)的 bank conflict, 对于 SMEM 写入(GMEM 到 SMEM,As...
在实际应用中,还需要对结果从寄存器写回全局内存的操作进行相应调整,以适应新的矩阵分片布局。本文基于对GEMM优化的深入理解,详细阐述了双缓冲(Prefetch)和Bank冲突解决策略的实现细节及其对CUDA矩阵乘内核性能的提升作用。通过理论分析和代码示例,展示了优化过程中的关键点和改进策略,为CUDA矩阵乘内核性...