KSPPIPECG#
Pipelined conjugate gradient method [GV14]. Pipelined Krylov Methods
Notes#
This method has only a single non-blocking reduction per iteration, compared to 2 blocking for standard KSPPCG
. 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 and KSPGROPPCG
MPI configuration may be necessary for reductions to make asynchronous progress, which is important for performance of pipelined methods. See What steps are necessary to make the pipelined solvers execute efficiently?
Contributed by#
Pieter Ghysels, Universiteit Antwerpen, Intel Exascience lab Flanders
References#
P. Ghysels and W. Vanroose. Hiding global synchronization latency in the preconditioned conjugate gradient algorithm. Parallel Computing, 40(7):224–238, 2014. 7th Workshop on Parallel Matrix Algorithms and Applications. doi:10.1016/j.parco.2013.06.001.
See Also#
KSP: Linear System Solvers, What steps are necessary to make the pipelined solvers execute efficiently?, Pipelined Krylov Methods, KSPCreate()
, KSPSetType()
, KSPPIPECG2
, 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