KSPSetLagNorm#
Lags the residual norm calculation so that it is computed as part of the MPI_Allreduce()
for computing the inner products for the next iteration. This can reduce communication costs at the expense of doing one additional iteration.
Synopsis#
#include "petscksp.h"
PetscErrorCode KSPSetLagNorm(KSP ksp, PetscBool flg)
Logically Collective
Input Parameters#
ksp - Krylov solver context
flg -
PETSC_TRUE
orPETSC_FALSE
Options Database Key#
-ksp_lag_norm - lag the calculated residual norm
Notes#
Currently only works with KSPIBCGS
.
Use KSPSetNormType
(ksp,KSP_NORM_NONE
) to never check the norm
If you lag the norm and run with, for example, -ksp_monitor
, the residual norm reported will be the lagged one.
See Also#
KSP: Linear System Solvers, KSPSetUp()
, KSPSolve()
, KSPDestroy()
, KSPConvergedSkip()
, KSPSetNormType()
, KSPSetCheckNormIteration()
Level#
advanced
Location#
src/ksp/ksp/interface/itcreate.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages