首页|基于BLACS的2.5D并行矩阵乘法

基于BLACS的2.5D并行矩阵乘法

New 2.5D Parallel Matrix Multiplication Algorithm Based on BLACS

扫码查看
并行矩阵乘法是线性代数中最重要的基本运算之一,同时也是许多科学应用的基石.随着高性能计算(HPC)向E级计算发展,并行矩阵乘法的通信开销所占比重越来越大.如何降低并行矩阵乘法的通信开销,提高并行矩阵乘的可扩展性是当前研究的热点之一.本文提出一种新型的分布式并行稠密矩阵乘算法,即2.5D版本的PUMMA(Parallel Universal Matrix Multiplication Algorithm)算法,该算法是通过将初始的进程分成c 组,利用计算节点的额外内存,在每个进程组上同时存储矩阵A、B和执行1/c的PUMMA算法,最后通过规约操作来得到矩阵乘的最终结果.本文基于BLACS(Basic Linear Algebra Communication Subprograms)通信库实现了一种从2D到2.5D的新型数据重分配算法,与PUMMA算法相结合,最终得到2.5D PUMMA算法,可直接替换PDGEMM(Parallel Double-precision General Matrix-matrix Multiplication),具有良好的可移植性.与国际标准算法库 ScaLA-PACK(Scalable Linear Algebra PACKage)中的PDGEMM等经典2D算法相比,本文算法缩减了通信次数,提高了数据局部性,具有更好的可扩展性.在进程数较多时,例如4096进程时,系统测试表明相对PDGEMM的加速比可达到2.20~2.93.进一步地,本文将2.5D PUMMA算法应用于加速计算对称三对角矩阵的特征值分解,其加速比可达到1.2以上.本文通过大量数值算例分析了 2.5D PUMMA算法的性能,并给出了实用性建议和总结了未来的工作.

廖霞、李胜国、卢宇彤、杨灿群

展开 >

国防科技大学计算机学院 长沙 410073

中山大学国家超级计算中心 广州 510006

国防科技大学并行与分布处理重点实验室 长沙 410073

2.5D并行矩阵乘算法 ScaLAPACK PUMMA矩阵乘算法 SUMMA算法 分布式并行

科技部重点研发计划项目国家重点研发计划国家自然科学基金国家自然科学基金国家数值风洞项目国家数值风洞项目国家数值风洞项目广东省自然科学基金广东省"珠江人才计划"引进创新创业团队湖南省面上项目校科研项目

2018YFB02043012018YFB020430361872392U1811461NNW2019ZT6-B20NNW2019ZT6-B21NNW2019ZT5-A102018B0303120022016ZT06D2112019JJ40339ZK18-03-01

2021

计算机学报
中国计算机学会 中国科学院计算技术研究所

计算机学报

CSTPCDCSCD北大核心
影响因子:3.18
ISSN:0254-4164
年,卷(期):2021.44(5)
  • 1