GPU 集群上用于 Krylov 求解器的两阶段 Gauss--Seidel 预条件子与光滑子
数值分析
2021-04-27 v2 数学软件
数值分析
摘要
Gauss-Seidel(GS)松弛常作为 Krylov 求解器的预条件子或代数多重网格(AMG)的光滑子。然而,所需的稀疏三角求解在图形处理单元(GPU)等多核架构上难以并行化。在本研究中,将基于三角求解的传统 GS 松弛与两阶段变体进行比较,后者以固定次数的内 Jacobi-Richardson(JR)迭代替代直接三角求解。当少量内迭代足以维持 Krylov 收敛速率时,两阶段 GS(GS2)在多核架构上常优于传统算法。我们还将 GS2 与 JR 进行比较。当二者在 SpMV 上执行相同浮点运算量时(例如三次 JR 扫描对比两次带一次内 JR 扫描的 GS 扫描),GS2 迭代以及以 GS2 为预条件子的 Krylov 求解器可能比 JR 迭代收敛更快。此外,对于某些问题(如弹性力学),发现 JR 在阻尼因子为 1 时可能发散,而两阶段 GS 可通过更多内迭代改善收敛。最后,为研究两阶段光滑子与预条件子在实际问题上的性能,将其应用于 GPU 上的不可压缩流体流动模拟。
引用
@article{arxiv.2104.01196,
title = {Two-Stage Gauss--Seidel Preconditioners and Smoothers for Krylov Solvers on a GPU cluster},
author = {Luc Berger-Vergiat and Brian Kelley and Sivasankaran Rajamanickam and Jonathan Hu and Katarzyna Swirydowicz and Paul Mullowney and Stephen Thomas and Ichitaro Yamazaki},
journal= {arXiv preprint arXiv:2104.01196},
year = {2021}
}