petsc-3.13.6 2020-09-29
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 Section 1.5 Writing Application Codes with PETSc.
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
"Predict-and-recompute conjugate gradient variants". Tyler Chen and Erin C. Carson. In preparation.
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