[petsc-users] General Questions

Frank Bramkamp bramkamp at nsc.liu.se
Fri Aug 8 11:21:56 CDT 2025


Dear PETSc Team,

I have the following general questions.
When using GMRES with classic gram schmidt, you have an optional refinement.

The default is not to use any refinement, is that correct ? So you use the standard classic gram schmidt 
without any additional refinement step. 

I originally thought that you use one refinement step if needed as default. Or was that somehow changed one day
and I remember it from older settings ?!

With refinement one also needs about twice the MPI communication, if refinement is done in each iteration,
which can be a bit more costly due to the MPI_ALLREDUCE for the dot products.


I solve the compressible navier stokes equations with turbulence. In which cases do you have the experience one should
better use a refinement step ?!  So far I typically used the default options, which seemed to work well for me so far.


for classic gram schmidt one also has to compute multiple dot products which is VecMDot in PETSC if I see this correct.
Do you by standard use blas GEMV to compute multiple dot products at once or do you typically prefer your
custom implementation. I think you also have a version where you unroll manual loops by a factor of 4 or so.
I am not quite sure what is the typical default for this, or in which situation one would not use GEMV.


Thanks a lot. I wish you a nice weekend, Frank












More information about the petsc-users mailing list