请描述如何优化基于 CUDA 的 GEMM(矩阵乘法)实现,并说明其中 shared memory 的大小应如何确定。
考察说明
考察 CUDA 编程中 GEMM 优化思路及 shared memory 分配的计算方法
回答思路
- 能阐述分块策略与 shared memory 的利用率
- 能说明 shared memory 大小受硬件限制(如 48KB/block)与块大小、数据类型的影响
- 能结合 bank conflict、寄存器占用等细节说明优化
- 能解释如何平衡 shared memory 大小与 occupancy