国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:胡怡,陈道琨,杨超,马文静,刘芳芳,宋超博,孙强,史俊达
单位:胡怡,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004911,陈道琨,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004902,杨超,北京大学 数学科学学院, 北京 10087103,马文静,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004904,刘芳芳,中国科学院 软件研究所 并行软件与计算科学实验室, 北京 100190;中国科学院大学, 北京 10004905,宋超博,国家并行计算机工程技术研究中心, 北京 10019006,孙强,国家并行计算机工程技术研究中心, 北京 10019007,史俊达,国家并行计算机工程技术研究中心, 北京 10019008
关键词:BLAS 3级;SW26010-Pro众核处理器;直接内存访问;远程内存访问;浮点计算效率
基金:国家重点研发计划(2020YFB0204601)
BLAS (basic linear algebra subprograms)是最基本、最重要的底层数学库之一.在一个标准的BLAS库中,BLAS 3级函数涵盖的矩阵-矩阵运算尤为重要,在许多大规模科学与工程计算应用中被广泛调用.另外,BLAS 3级属于计算密集型函数,对充分发挥处理器的计算性能有至关重要的作用.针对国产SW26010-Pro处理器研究BLAS 3级函数的众核并行优化技术.具体而言,根据SW26010-Pro的存储层次结构,设计多级分块算法,挖掘矩阵运算的并行性.在此基础上,基于远程内存访问(remote memory access,RMA)机制设计数据共享策略,提高从核间的数据传输效率.进一步地,采用三缓冲、参数调优等方法对算法进行全面优化,隐藏直接内存访问(direct memory access,DMA)访存开销和RMA通信开销.此外,利用SW26010-Pro的两条硬件流水线和若干向量化计算/访存指令,还对BLAS 3级函数的矩阵-矩阵乘法、矩阵方程组求解、矩阵转置操作等若干运算进行手工汇编优化,提高了函数的浮点计算效率.实验结果显示,所提出的并行优化技术在SW26010-Pro处理器上为BLAS 3级函数带来了明显的性能提升,单核组BLAS 3级函数的浮点计算性能最高可达峰值性能的92%,多核组BLAS 3级函数的浮点计算性能最高可达峰值性能的88%.
来源:2024年第3期
《软件学报》期刊编辑部