KSPPIPEBCGS#

Implements a pipelined BiCGStab method. Pipelined Krylov Methods

Notes#

This method has only two non-blocking reductions per iteration, compared to 3 blocking for standard KSPFBCGS. The non-blocking reductions are overlapped by matrix-vector products and preconditioner applications.

Periodic residual replacement may be used to increase robustness and maximal attainable accuracy.

Like KSPFBCGS, the KSPPIPEBCGS implementation only allows for right preconditioning.

MPI configuration may be necessary for reductions to make asynchronous progress, which is important for performance of pipelined methods. See What steps are necessary to make the pipelined solvers execute efficiently?

Contributed by#

Siegfried Cools, Universiteit Antwerpen, [CV17] EXA2CT European Project on EXascale Algorithms and Advanced Computational Techniques, 2016.

References#

CV17

Siegfried Cools and Wim Vanroose. The communication-hiding pipelined BiCGstab method for the parallel solution of large unsymmetric linear systems. Parallel Computing, 65:1–20, 2017.

See Also#

KSP: Linear System Solvers, KSPFBCGS, KSPFBCGSR, KSPBCGS, KSPBCGSL, KSPCreate(), KSPSetType(), KSPType, KSP, KSPBICG, KSPFBCGS, KSPSetPCSide(), Pipelined Krylov Methods, What steps are necessary to make the pipelined solvers execute efficiently?

Level#

intermediate

Location#

src/ksp/ksp/impls/bcgs/pipebcgs/pipebcgs.c


Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages