KSPPIPECG2#

Pipelined conjugate gradient method with a single non-blocking allreduce per two iterations. This method has only a single non-blocking reduction per two iterations, compared to 2 blocking for standard CG. The non-blocking reduction is overlapped by two matrix-vector products and two preconditioner applications.

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#

Manasi Tiwari, Computational and Data Sciences, Indian Institute of Science, Bangalore

Reference#

Manasi Tiwari and Sathish Vadhiyar, “Pipelined Conjugate Gradient Methods for Distributed Memory Systems”, Submitted to International Conference on High Performance Computing, Data and Analytics 2020.

See Also#

KSPCreate(), KSPSetType(), KSPCG, KSPPIPECG

Level#

intermediate

Location#

src/ksp/ksp/impls/cg/pipecg2/pipecg2.c


Edit on GitLab

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