petsc-master 2021-01-18
Report Typos and Errors


Implements the pipelined BiCGStab method. This method has only two non-blocking reductions per iteration, compared to 3 blocking for standard FBCGS. 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.

Options Database Keys

See Also



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 the FAQ on the PETSc website for details.

Contributed by

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


S. Cools and W. Vanroose, "The communication-hiding pipelined BiCGStab method for the parallel solution of large unsymmetric linear systems", Parallel Computing, 65:1-20, 2017.

See Also

KSPCreate(), KSPSetType(), KSPType (for list of available types), KSP, KSPBICG, KSPFBCGS, KSPFBCGSL, KSPSetPCSide()




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