# KSPGROPPCG
A pipelined conjugate gradient method developed by Bill Gropp. [](sec_pipelineksp) 


## Notes
This method has two reductions, one of which is overlapped with the matrix-vector product and one of which is
overlapped with the preconditioner.

See also `KSPPIPECG`, which has only a single reduction that overlaps both the matrix-vector product and the preconditioner.

MPI configuration may be necessary for reductions to make asynchronous progress, which is important for performance of pipelined methods.
See [](doc_faq_pipelined)


## Contributed by
Pieter Ghysels, Universiteit Antwerpen, Intel Exascience lab Flanders


## Reference
http://www.cs.uiuc.edu/~wgropp/bib/talks/tdata/2012/icerm.pdf


## See Also
 [](chapter_ksp), [](sec_pipelineksp), [](doc_faq_pipelined), `KSPCreate()`, `KSPPIPECG2()`, `KSPSetType()`, `KSPPIPECG`, `KSPPIPECR`, `KSPPGMRES`, `KSPCG`, `KSPCGUseSingleReduction()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/impls/cg/groppcg/groppcg.c.html#KSPGROPPCG">src/ksp/ksp/impls/cg/groppcg/groppcg.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/cg/groppcg/groppcg.c)


[Index of all KSP routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
