petsc-3.12.4 2020-02-04
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 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