国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:闫昊,刘芳芳,马文静,陈道琨
单位:闫昊,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004911,刘芳芳,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;计算机科学国家重点实验室 (中国科学院 软件研究所), 北京 10019002,马文静,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;计算机科学国家重点实验室 (中国科学院 软件研究所), 北京 10019003,陈道琨,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004904
关键词:矩阵乘法;缓存;分块算法;优化;数据预取
基金:国家重点研发计划(2020YFB0204601)
稠密矩阵乘法(GEMM)是很多科学与工程计算应用中大量使用的函数,也是很多代数函数库中的基础函数,其性能高低对整个应用往往有决定性的影响.另外,因其计算密集的特点,矩阵乘法效率往往也是体现硬件平台性能的重要指标.针对国产申威1621处理器,对稠密矩阵乘法进行了系统性地优化.基于对各部分开销的分析,以及对体系结构特点与指令集的充分利用,对DGEMM函数从循环与分块方案,打包方式,核心计算函数实现,数据预取等方面进行了深入优化.此外,开发了代码生成器,为不同的输入参数生成不同版本的汇编代码和C语言代码,配合自动调优脚本,选取最佳参数.经过优化和调优,单线程DGEMM性能达到了单核浮点峰值性能的85%,16线程DGEMM性能达到16核浮点峰值性能的80%.对DGEMM函数的优化不仅提高了申威1621平台BLAS函数库性能,也为国产申威系列多核处理器上稠密数据计算优化提供了重要参考.
来源:2023年第7期
《软件学报》期刊编辑部