A different kind of lagged preconditioner

Barry Smith bsmith at mcs.anl.gov
Mon Mar 23 13:12:51 CDT 2009


    Lagging the preconditioner does NOT mean applying the  
preconditioner every p non-linear iterations. It means RECOMPUTING the  
preconditioner (with LU that means doing a new LU numerical  
factorization) every p nonlinear iterations. The preconditioner is  
still APPLIED at every iteration of the Krylov method.

   Within the linear solve inside Newton there is never a  
recomputation of the preconditioner (because the matrix stays the same  
inside the linear solve) so lagging inside the linear solve doesn't  
make sense.

    Barry


   The work and memory requirements of  LU factorization scales more  
than linearly with the problem size so eventually for really large  
problems the cost becomes prohibative, but if no iterative solver  
works then you have to use LU and lag as much as you can.  Are you  
running in parallel? You will need to for larger problems.

On Mar 23, 2009, at 11:06 AM, Rafael Santos Coelho wrote:

> Hello everyone,
>
> Lately I've been running some tests with a matrix-free LU-SGS-like  
> preconditioner and I've noticed that although, broadly speaking, it  
> has shown very good improvements on the convergence rate of my  
> program, it does not decrease the runtime. Quite the opposite, the  
> bigger the problem (mesh size), the more computational costlier it  
> gets to be applied to the system, which is fairly natural to expect.  
> So I've tried using the -snes_lag_preconditioner command-line  
> option, and it did help in a way to alleviate the "numerical effort"  
> of the preconditioner, but the overall runtime, in comparison with  
> the matrix-free unpreconditioned tests, is still prohibitive.
>
> Given that, I was thinking of modifying the concept of "lagged  
> preconditioning" in PETSc, I mean, instead of applying the  
> preconditioner every "p" non-linear iterations, I want to apply it  
> every "p" linear iterations within each non-linear iteration. How  
> can I do that?
>
> Thanks in advance,
>
> Rafael



More information about the petsc-users mailing list