-ksp_pipegcr_mmax <N> | - the max number of Krylov directions to orthogonalize against | |
-ksp_pipegcr_unroll_w | - unroll w at the storage cost of a maximum of (mmax+1) extra vectors with the benefit of better pipelining (default: PETSC_TRUE) | |
-ksp_pipegcr_nprealloc <N> | - the number of vectors to preallocated for storing Krylov directions. Once exhausted new directions are allocated blockwise (default: 5) | |
-ksp_pipegcr_truncation_type <standard,notay> | - which previous search directions to orthogonalize against |
Only supports left preconditioning.
The natural "norm" for this method is (u,Au), where u is the preconditioned residual. This norm is available at no additional computational cost, as with standard CG. Choosing preconditioned or unpreconditioned norm types involves a blocking reduction which prevents any benefit from pipelining.