petsc-3.13.6 2020-09-29
Report Typos and Errors

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 Section 1.5 Writing Application Codes with PETSc.

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