<div dir="ltr"><br><br><div class="gmail_quote">On Thu, Mar 24, 2011 at 06:04, Gong Ding <span dir="ltr">&lt;<a href="mailto:gdiso@ustc.edu">gdiso@ustc.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div> <br>I see. pARMS first do domain decomposition and local ilu in each domain.<br>
Thanks.<br>
<br>
And how to set PC to pARMS in code instead of command line argument?<br></div></blockquote><div><br></div><div>Just like any other PC:</div><div><br></div><div>PCSetType(pc,PCPARMS);</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br>The scaling of hypre parallel ilu seems bad. <br>I think ilu from pastix can reuse many components of sparse direct solver,<br>such as elimination tree, supernode structure, parallel task schedule. <br>It may have better performance. <br>
</div></blockquote><div><br></div><div>Possible, but ILU &quot;stays sparse&quot; compared to full LU that can take advantage of dense operations and more computation per communication.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br></div><div><div></div><div class="h5"><blockquote style="padding-left:5px;margin-left:5px;border-left:2px solid rgb(160, 198, 229);margin-right:0px"><br><div class="gmail_quote">2011/3/23 Gong Ding <span dir="ltr">&lt;<a href="mailto:gdiso@ustc.edu" target="_blank">gdiso@ustc.edu</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div>ilu is powerful preconditioner, especially for my problem.<br>
However, petsc only has a simple serial version.<br>
Hypre parallel ilu does not scalar well.<br>
I hole pARMS works fine.<br></div></blockquote><div><br></div><div>Note that pARMS is not doing parallel ILU. To see the options, run with</div><div><br></div><div>  -pc_type parms -help | grep parms</div><div><br></div>

<div>This one is especially relevant:</div><div><br></div><div>  -pc_parms_global &lt;RAS&gt; (choose one of) RAS SCHUR BJ (PCPARMSSetGlobal)</div><div><br></div><div>note that SCHUR is nonlinear by default so you should use -ksp_type fgmres</div>

<div><br><br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div>
<br>
BTW, pastix announced it support parallel ilu (kass module),<br>
is it possible to call pastix kass in petsc?</div></blockquote></div><br><div>That is not implemented, but someone could update the module.</div><div><br></div><div>Note that -pc_type hypre -pc_hypre_type euclid is also a parallel ILU.<br>
<br><br></div>
</blockquote><span></span></div></div></blockquote></div><br></div>