petsc-3.12.5 2020-03-29
Report Typos and Errors

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 on ksp

Input Parameter

ksp - Krylov solver context
flg - PETSC_TRUE or PETSC_FALSE

Options Database Keys

-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

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