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