面向新一代国产申威众核体系架构的耦合不完全Cholskey和Jacobi预条件共轭梯度算法
随着计算需求的日益提升,大规模数值计算并行化受到越来越多的限制。由于需要综合考虑网络通信、内存读取等多方面因素,使科学与工程计算应用并行化问题愈加成为现阶段的研究热点之一。预条件共轭梯度算法作为线性代数系统的重要求解器广泛运用在科学与工程计算应用中,研究算法的预条件子在大型异构众核系统下的收敛性与并行性一直是热点与难点。 由国家超级计算无锡中心、清华大学、国家并行计算机工程技术研究中心等单位联合撰写的论文“Coupled Incomplete Cholesky and Jacobi Preconditioned Conjugate Gradient on the New Generation of Sunway Many-Core Architecture”在IEEE TRANSACTIONS ON COMPUTERS期刊(CCF推荐A类)发表。
预条件共轭梯度法(PCG)是线性代数系统中最重要的求解器之一,广泛应用于科学和工程计算应用领域。基于新一代申威异构众核体系结构提出了一种耦合的不完全Cholesky和Jacobi预条件共轭梯度算法(CICJ-PCG)。该算法引入几何分块并行策略,深入分析系数矩阵非零元几何特征,巧妙地将直接法与迭代法紧密融合,消除矩阵求逆并行化过程中的数据相关性,充分提高预条件子并行效率,实现收敛性和并行性良好地平衡,大大提高了PCG求解器在上申威异构众核处理器的性能。除此之外,基于RMA的两级软cache片上数据传输方法充分发挥新一代申威片上通信带宽。通过分别在Intel、GPU和申威架构上进行的测试验证了算法具有普适性和高效性。在应用仿真上,使用开源计算框架OpenFOAM开展某流体动力模型应用仿真,算例中当线性方程组未知数为8.2亿个,系数矩阵非零的数量为590亿时,结果表明该方法在133120并行规模下比使用DIC-PCG求解器应用仿真速度整体提升8.42倍。比使用GAMG求解器应用仿真速度整体提升6.5倍。
图2:不同求解器众核并行效率
图3:不同求解器应用仿真模拟时间(平均每时间步)
本文的主要作者来自国家超级计算无锡中心神威生态发展研究中心成员,联合国家并行计算机工程技术研究中心与国内外优势团队,以优化、完善神威算力系统软硬件和应用生态为目标,致力于推动神威算力系统的产业化进程。本工作得到了国家重点研发计划专项的资助和支持。 《IEEE Transactions on Computers (TC)》是中国计算机学会(CCF)推荐A类国际学术期刊,主要关注计算机体系结构、并行和分布式计算以及存储系统等领域的重要科学进展,旨在及时、准确、全面地报道国内外计算机体系结构、计算机应用、分布式计算等工作者在该领域的科学研究等工作中取得的经验、科研成果、技术革新,是计算机系统领域的顶级刊物。 文章来源:国家超级计算无锡中心
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-21
最近编辑:6月前