KSPPIPECG#
Pipelined 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.
See also KSPPIPECR, where the reduction is only overlapped with the matrix-vector product.
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#
Pieter Ghysels, Universiteit Antwerpen, Intel Exascience lab Flanders
Reference#
P. Ghysels and W. Vanroose, “Hiding global synchronization latency in the preconditioned Conjugate Gradient algorithm”, Submitted to Parallel Computing, 2012.
See Also#
KSPCreate()
, KSPSetType()
, KSPPIPECR
, KSPGROPPCG
, KSPPGMRES
, KSPCG
, KSPCGUseSingleReduction()
Level#
intermediate
Location#
src/ksp/ksp/impls/cg/pipecg/pipecg.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages