华南理工大学学报(自然科学版) ›› 2025, Vol. 53 ›› Issue (9): 48-58.doi: 10.12141/j.issn.1000-565X.240498
陆璐1, 赵容1, 梁志宏2, 索思亮2
LU Lu1, ZHAO Rong1, LIANG Zhihong2, SUO Siliang2
摘要:
通用矩阵乘法(GEMM)是线性代数中最重要的运算,来自不同科学领域的许多应用程序都将其关键部分转换为使用GEMM的形式。GEMM广泛应用于大模型、机器学习、科学计算和信号处理等领域。特别是半精度的批处理GEMM(即FP16)一直是许多深度学习框架的核心操作。目前AMD GPU上半精度批处理GEMM的访存和计算利用率不足,急需优化。为此,该文提出了一种半精度批处理GEMM(HGEMM)的图形处理器(GPU)优化方案。分块策略方面,根据输入矩阵块大小为线程分配相同的访存量和计算量,同时线程计算多个矩阵乘法,以提高计算单元的利用率。访存优化方面,以多读数据为代价,为每个线程分配相同访存量以便于编译器优化,保证访存和计算时间相互掩盖。对于矩阵尺寸小于16的极小尺寸批处理HGEMM,该文利用4 × 4 × 4的Matrix Core及其对应的分块方案,在提升访存性能的同时减少Matrix Core计算资源的浪费,并提供是否使用共享内存的选项来达到最高性能。在AMD GPU MI210平台上,将该方案与rocBLAS的2个算子进行性能对比,结果表明:该方案在AMD GPU MI210上的平均性能为rocBLASHGEMMBatched的4.14倍,rocBLASGEMMExBatched的4.96倍;对于极小尺寸批处理HGEMM,平均性能为rocBLASHGEMMBatched的18.60倍,rocBLASGEMMExBatched的14.02倍。
中图分类号: