Skip to main content
`Ctrl`+`K`

# KSPPIPECGRR

Pipelined conjugate gradient method with automated residual replacements [CYA+18]. Pipelined Krylov Methods

## Notes

This method has only a single non-blocking reduction per iteration, compared to 2 blocking for standard `KSPCG`. The non-blocking reduction is overlapped by the matrix-vector product and preconditioner application.

`KSPPIPECGRR` improves the robustness of `KSPPIPECG` by adding an automated residual replacement strategy. True residual and other auxiliary variables are computed explicitly in a number of dynamically determined iterations to counteract the accumulation of rounding errors and thus attain a higher maximal final accuracy.

See also `KSPPIPECG`, which is identical to `KSPPIPECGRR` without residual replacements. See also `KSPPIPECR`, where the reduction is only overlapped with the matrix-vector product.

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, Dept. Mathematics & Computer Science, European FP7 Project on EXascale Algorithms and Advanced Computational Techniques (EXA2CT) / Research Foundation Flanders (FWO)

## References

[CYA+18]

Siegfried Cools, Emrullah Fatih Yetkin, Emmanuel Agullo, Luc Giraud, and Wim Vanroose. Analyzing the effect of local rounding error propagation on the maximal attainable accuracy of the pipelined conjugate gradient method. SIAM Journal on Matrix Analysis and Applications, 39(1):426–450, 2018.

## See Also

KSP: Linear System Solvers, What steps are necessary to make the pipelined solvers execute efficiently?, Pipelined Krylov Methods, `KSPCreate()`, `KSPSetType()`, `KSPPIPECR`, `KSPGROPPCG`, `KSPPIPECG`, `KSPPGMRES`, `KSPCG`, `KSPPIPEBCGS`, `KSPCGUseSingleReduction()`

## Level

intermediate

## Location

src/ksp/ksp/impls/cg/pipecgrr/pipecgrr.c

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