[petsc-dev] GMRES outer with -ksp_chebychev_estimate_eigenvalues inners

Barry Smith bsmith at mcs.anl.gov
Thu Oct 20 15:41:51 CDT 2011


  So you are doing bullet four below? Fine

    Thanks

    Barry

On Oct 20, 2011, at 2:36 PM, Jed Brown wrote:

> On Thu, Oct 20, 2011 at 14:26, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>   Jed,
> 
>    When one runs multigrid as a preconditioner for GMRES and selects -...-ksp_chebychev_estimate_eigenvalues as a smoother inside then it initially uses GMRES as the smoother. Hence one has GMRES inside GMRES at the first iteration which is dangerous.
> 
> Actually, GMRES (or CG) is only used to estimate the eigenvalues, it is not used as the first application of the preconditioner (the way it had been with specest). Aside from avoiding the confusion of a variable preconditioner, this lets us target the upper end of the spectrum which is what you want for multigrid. Note that when using Chebchev this way, you benefit from turning off all the norms. I think we should arrange for -mg_levels_ksp_type chebychev to automatically configure Chebychev in a way that makes sense as a multigrid smoother (target the upper end of the spectrum and do not compute any norms).
>  
> 
>    What is our policy on this too be? (For example in nightly tests).
> 
>         *  Just hope it doesn't matter and use GMRES outer
> 
>        *  Use FGMRES outer the entire time even though you barely need it.
> 
>        * After the very first GMRES iteration trigger an extra restart back to zero so that one has linear preconditioner inside the rest of the GMRES. (Haven't wasted work but by restarting you are partially wasting the first GMRES outer iteration.)
> 
>        * After getting the singular values from inner GMRES,  redo the inner GMRES with Chebychev then the preconditioner is linear and we can use GMRES outer. (Only work wasted is initial GMRES smoothing to get singular values).
> 
>        * Something else
> 
>   I think the current strategy is "hope it doesn't matter".  Probably we should say something about this in the docs for Chebychev?
> 
> 
> 
>     Barry
> 
> 
> 
> 




More information about the petsc-dev mailing list