Recently, asynchronous coarse-space correction has been achieved within both the overlapping Schwarz and the primal Schur frameworks. Both additive and multiplicative corrections have been discussed. In this paper, we address some implementation drawbacks of the proposed additive correction scheme. In the existing approach, each coarse solution is applied only once, leaving most of the iterations of the solver without coarse-space information while building the right-hand side of the coarse problem. Moreover, one-sided routines of the Message Passing Interface (MPI) standard were considered, which introduced the need for a sleep statement in the iterations loop of the coarse solver. This implies a tuning of the sleep period, which is a non-discrete quantity. In this paper, we improve the accuracy of the coarse right-hand side, which allowed for more frequent corrections. In addition, we highlight a two-sided implementation which better suits the asynchronous coarse-space correction scheme. Numerical experiments show a significant performance gain with such increased incorporation of the coarse space.
翻译:近期,在重叠型 Schwarz 和原始型 Schur 框架中均已实现了异步粗空间修正,并讨论了加性修正与乘性修正两种方案。本文针对现有加性修正方案中的若干实现缺陷进行改进。现有方法中,每个粗解仅被应用一次,导致求解器在构建粗问题右端项的同时,大多数迭代步骤缺失粗空间信息。此外,现有方法采用消息传递接口(MPI)标准的单向通信例程,需要在粗求解器的迭代循环中引入休眠语句,这要求对非整数休眠时长进行参数调优。本文通过提升粗右端项的计算精度,实现了更高频次的修正。同时,我们提出了更契合异步粗空间修正方案的双向通信实现。数值实验表明,通过增强粗空间融入频次,算法性能获得了显著提升。