并行求解线性代数时,应该使用 petsc 中的哪种迭代方法和预处理器?

计算科学 线性代数 线性求解器 并行计算 宠物
2021-12-06 23:36:22

我目前正在尝试并行化不可压缩流求解器代码。但是,当我运行代码时,我意识到并行代码比顺序代码花费更长的时间来完成一次迭代。

网格由 ParMetis 分区,因此工作负载是平衡的。我也给我的代码计时了,主要耗时的部分是线性求解器部分。我使用的方法是共轭梯度和 jacobi 作为 Petsc Krylov 方法的预处理器。

所以我想知道是否有任何合适的方法和预处理器来并行求解线性代数?

问候

1个回答

有许多方法可以并行求解线性系统,但从根本上说,哪些有效,哪些无效,主要取决于您尝试求解的线性系统的属性。其中,Jacobi 预处理器是您可以选择的最差的。

我在第 34-38 课和第 41.75 课中总结了我对这个主题的了解:http: //www.math.colostate.edu/~bangerth/videos.html