求解CMFD的改进流水线并行GMRES方法
2021-04-16韩立会程有莹
郝 琛,韩立会,程有莹
(1.哈尔滨工程大学 核科学与技术学院,哈尔滨150001;2.国家核应急响应技术支持中心,北京100080)
基于特征线方法的全堆芯3维精细化物理计算方法是国际研究热点之一。目前,全堆芯精细化中子输运计算中多应用2维或1维聚合算法,并应用粗网有限差分方法(CMFD)加速3维输运计算[1]。在求解CMFD大型非对称线性稀疏系统时,首尔大学开发的全堆芯输运计算程序nTRACER应用BICGSTAB算法求解CMFD线性系统,可降低并行矩阵向量乘积计算的耗时[2]。先进轻水反应堆模拟仿真联盟开发的中子输运程序MPACT中采用无Jacobian矩阵的Newton-Krylov方法,将非线性牛顿法和有限差分方法相结合代替Jacobian矩阵向量乘积[3]。我国自主开发的堆芯高保真中子输运计算程序HNET中应用GMRES方法求解CMFD线性系统,但在多核并行环境下,由于传统GMRES算法中点积的计算比矩阵向量乘积计算更加耗时,所以CMFD的加速效果受到限制。例如,用标准的并行GMRES方法求解C5G7-3D多群CMFD线性系统,当计算核数为768时,全局通信用时高达GMRES求解总时间的95%[4]。因此,减少点积计算引起的全局通信用时是GMRES方法并行算法设计与实现的研究重点。s步GMRES方法通过减少内积次数可实现算法优化[5-6],但该方法的数值稳定性较差,且计算和全局通信连续执行,处理器在通信阶段处于空闲状态,会造成处理器计算资源浪费。本文采用流水线思想[7],重构GMRES算法,实现每次迭代仅一次全局通信,并以最大限度的计算任务隐藏全局通信造成的延迟,充分利用处理器的资源,开发了流水线式并行GMRES求解算法及线性求解器。……
