[petsc-dev] Right-preconditioned GMRES

Pierre Jolivet pierre.jolivet at enseeiht.fr
Wed Nov 6 12:32:08 CST 2019



> On 6 Nov 2019, at 7:30 PM, Fande Kong <fdkong.jd at gmail.com> wrote:
> 
> Even if both the linear operator and the preconditioner  operator are symmetric, the preconditioned operator by RAS will  NOT be symmetric so that CG is not applicable. 
> 
> RAS keeps overlapping elements during restriction but discards them when doing interpolation, which leads to an unsymmetric preconditioned operator.

Of course.
What’s your point?

Thanks,
Pierre

> Fande,
> 
>  
> 
> On Wed, Nov 6, 2019 at 11:13 AM Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov <mailto:petsc-dev at mcs.anl.gov>> wrote:
> I need to figure this out myself first.
> In the meantime, here is another (PCASM related) question for you: why is PCASMType switched to BASIC when using a symmetric Pmat? (I guess I don’t have to tell you about the performance of RAS vs. ASM)
> To me, that would make sense if the default KSP was also switched to CG instead of GMRES if the Pmat and Amat were symmetric, but I don’t think this is the case.
> 
> Thanks,
> Pierre
> 
> > On 24 Oct 2019, at 5:40 PM, Smith, Barry F. <bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> wrote:
> > 
> > 
> >  Send the code and exact instructions to run a "good" and a "bad" ASM 
> > 
> >   Barry
> > 
> > 
> >> On Oct 14, 2019, at 10:44 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr <mailto:pierre.jolivet at enseeiht.fr>> wrote:
> >> 
> >> Here are the three logs.
> >> FGMRES also gives a wrong first iterate.
> >> I think Mark was right in the sense that the problem is _most likely_ in my RHS.
> >> But I need to figure out why I only get this problem with right-preconditioned KSPs with restrict or none.
> >> 
> >> Thanks,
> >> Pierre
> >> 
> >> 
> >> 
> >>> On 13 Oct 2019, at 8:16 PM, Smith, Barry F. <bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> wrote:
> >>> 
> >>> 
> >>> Is this one process with one subdomain? (And hence no meaningful overlap since there is nothing to overlap?) And you expect to get the "exact" answer on one iteration? 
> >>> 
> >>> Please run the right preconditioned GMRES with -pc_asm_type [restrict and basic and none]  -ksp_monitor_true_solution  and send the output for the three cases.
> >>> 
> >>> For kicks you can also try FGMRES (which always uses right preconditioning) to see if the same problem appears.
> >>> 
> >>> Barry
> >>> 
> >>> 
> >>>> On Oct 13, 2019, at 2:41 AM, Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov <mailto:petsc-dev at mcs.anl.gov>> wrote:
> >>>> 
> >>>> Hello,
> >>>> I’m struggling to understand the following weirdness with PCASM with exact subdomain solvers.
> >>>> I’m dealing with a very simple Poisson problem with Dirichlet + Neumann BCs.
> >>>> If I use PCBJACOBI + KSPPREONLY or 1 iteration of GMRES either preconditioned on the right or on the left, I get the expected result, cf. attached screenshot.
> >>>> If I use PCASM + KSPPREONLY or 1 iteration of GMRES preconditioned on the left, I get the expected result as well.
> >>>> However, with PCASM + 1 iteration of GMRES preconditioned on the right, I don’t get what I should (I believe).
> >>>> Furthermore, this problem is specific to -pc_asm_type restrict,none (I get the expected result with basic,interpolate).
> >>>> 
> >>>> Any hint?
> >>>> 
> >>>> Thanks,
> >>>> Pierre
> >>>> 
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type bjacobi -ksp_pc_side right -> bjacobi_OK
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm -ksp_pc_side left -> asm_OK
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm -ksp_pc_side right -> asm_KO
> >>>> 
> >>>> <bjacobi_OK.png><asm_OK.png><asm_KO.png>
> >>> 
> >> 
> >> <dump-basic><dump-none><dump-restrict>
> > 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191106/3ce4c461/attachment.html>


More information about the petsc-dev mailing list