本文介绍的研究由Guoqing Xiao、Kenli Li、Yuedan Chen、Wangquan He、Albert Y. Zomaya和Tao Li共同完成,研究团队分别来自湖南大学信息科学与工程学院、国家超级计算长沙中心、江南计算技术研究所、悉尼大学信息科技学院以及佛罗里达大学电气与计算机工程系。该研究发表于《IEEE Transactions on Parallel and Distributed Systems》期刊,并于2019年正式发表。
稀疏矩阵-向量乘法(Sparse Matrix-Vector Multiplication, SPMV)是高性能计算中的核心算法之一,广泛应用于科学计算和工程领域。随着超级计算机的快速发展,如何在高性能计算平台上高效实现SPMV成为了一个重要课题。神威·太湖之光(Sunway TaihuLight)是目前全球第三快的超级计算机,其独特的异构多核架构(SW26010处理器)为SPMV的并行设计带来了新的挑战。该研究旨在针对神威·太湖之光的架构特点,设计并实现一个定制化的SPMV框架(CASPMV),以克服存储限制、负载不均衡和不规则内存访问带来的性能瓶颈。
研究主要分为以下几个步骤:
通用并行SPMV的设计与分析
研究首先基于神威·太湖之光的架构,设计了基于不同稀疏矩阵存储格式(如COO、CSR、ELL、CSC)的通用并行SPMV内核。通过实验和分析,研究发现了三个主要的性能瓶颈:
CASPMV框架的设计
为了克服上述问题,研究提出了一个定制化的SPMV框架(CASPMV),主要包括以下四个组件:
实验与性能评估
研究在神威·太湖之光上进行了大量实验,验证了CASPMV框架的有效性。实验结果表明,CASPMV在单个CG(对应于一个MPI进程)上的性能比通用并行SPMV提升了588.05%到2118.62%,并且在多个CG上具有良好的可扩展性。此外,CASPMV在稀疏矩阵的稀疏性和不规则性对性能的影响方面表现优异。
研究的主要结果包括: 1. 性能提升:CASPMV在单个CG上的性能显著优于通用并行SPMV,性能提升范围从588.05%到2118.62%。 2. 可扩展性:CASPMV在多个CG上表现出良好的可扩展性,能够在32个CG上实现高达81.20 GFlops的性能。 3. 稀疏性和不规则性的影响:与现有的BT-CSR-CPE和SWCSR-SPMV方法相比,CASPMV在稀疏矩阵的稀疏性和不规则性对性能的影响方面表现更为优异。
该研究的主要贡献在于: 1. 定制化的四路分区方案:通过自动调优的分区方案,CASPMV能够更好地适应神威·太湖之光的计算架构和内存层次结构,解决了存储限制和负载不均衡问题。 2. 稀疏矩阵统计模型:研究提出的统计模型能够有效描述稀疏矩阵的结构特征,为分区方案的调优提供了理论支持。 3. 加速方法:通过分离乘法和加法操作,CASPMV避免了不规则内存访问,显著提升了SPMV的性能。 4. 优化方法:研究还提出了基于神威·太湖之光架构的优化方法,如SIMD技术、并行流水线技术、DMA带宽优化和双缓冲机制,进一步提升了CASPMV的计算和通信效率。
该研究通过设计并实现CASPMV框架,成功解决了在神威·太湖之光上运行SPMV时的存储限制、负载不均衡和不规则内存访问等问题。CASPMV不仅在性能上取得了显著提升,还具有良好的可扩展性和广泛适用性。该研究为高性能计算中的稀疏矩阵计算提供了新的解决方案,具有重要的科学和应用价值。