PETSc version 3.17.4
Fix/Edit manual page

# KSPPIPEPRCG

Pipelined predict-and-recompute conjugate gradient method. This method has only a single non-blocking reduction per iteration, compared to 2 blocking for standard CG. The non-blocking reduction is overlapped by the matrix-vector product and preconditioner application.

### Notes

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

Tyler Chen, University of Washington, Applied Mathematics Department

### Reference

Tyler Chen and Erin Carson. "Predict-and-recompute conjugate gradient variants." SIAM Journal on Scientific Computing 42.5 (2020): A3084-A3108.

### Acknowledgments

This material is based upon work supported by the National Science Foundation Graduate Research Fellowship Program under Grant No. DGE-1762114. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

### See Also

KSPCreate(), KSPSetType(), KSPPIPECG, KSPPIPECR, KSPGROPPCG, KSPPGMRES, KSPCG, KSPCGUseSingleReduction()

### Level

intermediate

### Location

src/ksp/ksp/impls/cg/pipeprcg/pipeprcg.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages