[发明专利]面向SW39000处理器的稠密矩阵乘法的高性能实现方法及装置在审
| 申请号: | 202111192491.0 | 申请日: | 2021-10-13 |
| 公开(公告)号: | CN113849771A | 公开(公告)日: | 2021-12-28 |
| 发明(设计)人: | 胡怡;杨超;刘芳芳;马文静;陈道琨 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/57 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余功勋 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 sw39000 处理器 稠密 矩阵 乘法 性能 实现 方法 装置 | ||
本发明公开了一种面向SW39000处理器的稠密矩阵乘法的高性能实现方法,包括:在主内存级别分别对非转置矩阵A、非转置矩阵B与问题矩阵C进行任务分块,产生若干的子矩阵δAil、子矩阵δBlj与子矩阵δCij;当子矩阵δCij更新时,在从核阵列的LDM级别分别对子矩阵δCij、子矩阵δAil及子矩阵δBlj进行任务分块,将产生的子块εCuv、子块εAuw及子块εBwv映射至相应的从核;将子矩阵δAil的第t个列块与子矩阵δBlj的第t个行块相乘,生成矩阵δCt;基于子矩阵δCij与各矩阵δCt,更新主内存中的子矩阵δCij,以得到问题矩阵C的输出结果。本发明通过在主内存、从核的LDM以及寄存器上的合理数据布局,充分挖掘从核阵列的并行计算能力,使用了三重缓冲技术隐藏了DMA访存开销和RMA通信开销,使用了指令重排技术提高了GEMM的浮点计算效率。
技术领域
本发明涉及基础线性代数库BLAS(Basic Linear Algebra Subprograms)实现的领域, 尤其涉及一种面向SW39000处理器的稠密矩阵乘法(GEMM)的高性能实现方法及装置。
背景技术
BLAS(Basic Linear Algebra Subprograms)是一种基础线性代数子程序库,主要包含向 量和矩阵的基本操作,是最基础和最重要的数学库之一,广泛应用于科学计算、气象预报、 天体物理等领域。BLAS库是很多专业软件的核心,其中,BLAS 3级函数中稠密矩阵乘法(GEMM) 的高性能实现尤为重要,它是BLAS库最重要的部分,应用极为广泛。无论是传统的数值计算 领域,亦或是新兴的人工智能领域,均严重依赖GEMM。此外,高性能领域的许多大规模科学 计算应用如生物制药、海洋环流、核能开发等,其底层均依赖于高度优化的GEMM来获得高效 的运行效率。特别地,用于世界TOP500超级计算机排名的基准测试程序Linpack的性能严重 依赖GEMM的性能。在数值矩阵分析、深度学习等方面的实践表明,GEMM对提高应用的运算速 度和充分发挥高性能计算机的性能具有至关重要的意义。
稠密矩阵乘法(GEMM)主要实现:C=α×op(A)×op(B)+β×C,支持实数单/双精度、复数单/双精度四种数据类型,其中A,B,C分别是大小为m×k,k×n,m×n的矩阵,α, β是标量参数,op(X)可为X、XT(X的转置)、XH(X的共轭转置)。GEMM具有计算密集的特征, 其性能严重依赖于能否有效地利用机器硬件特性,即如何合理地将数据排布在存储结构中, 通过计算隐藏访存来提升性能,充分利用高性能计算机的并行计算资源,提高数据重用率, 是GEMM高性能实现的极大挑战。
在高性能计算平台上有大量针对GEMM的并行优化工作。例如,WangQian等人针对主流 多核处理器研究了稠密线性代数子程序的优化技术,能够直接为GEMM生成高度优化的汇编代 码。Zhang等人在龙芯3ACPU上优化了GEMM。Ali M等人在多核DSP上利用OpenMP对GEMM 进行了高度优化。以上都是GEMM在多核处理器上的工作。随着GPU加速器的快速发展,GEMM 在GPU上的优化工作引起了越来越多的关注。例如,LiangJuanjuan等人使用CUDA在GPU上 设计和实现了3级BLAS库的核心函数GEMM。Nath R等人给出了在Nvidia GPU上实现高性 能GEMM的并行算法。
SW39000是具有异构架构的众核处理器。在基于SW39000众核处理器架构的神威新一代 超级计算机上,目前还没有部署定制化的高性能GEMM函数,且现有的开源数学库在该平台上 性能较低,无法对应用提供有效的性能支撑。因此急需设计并实现一种面向该众核平台的高 性能GEMM函数,以充分利用申威众核处理器的硬件特性,且满足上层应用对申威众核平台上 高性能GEMM的迫切需求。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111192491.0/2.html,转载请声明来源钻瓜专利网。





