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


Edit on GitLab

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