KSPPIPECR — PETSc 3.23.0 documentation

Skip to main content
`Ctrl`+`K`

# KSPPIPECR

Pipelined conjugate residual method [GV14]. Pipelined Krylov Methods

## Notes

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

See also `KSPPIPECG`, where the reduction is 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

Pieter Ghysels, Universiteit Antwerpen, Intel Exascience lab Flanders

## References

[GV14]

P. Ghysels and W. Vanroose. Hiding global synchronization latency in the preconditioned conjugate gradient algorithm. Parallel Computing, 40(7):224–238, 2014. 7th Workshop on Parallel Matrix Algorithms and Applications. doi:10.1016/j.parco.2013.06.001.

## See Also

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

## Level

intermediate

## Location

src/ksp/ksp/impls/cr/pipecr/pipecr.c

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