<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jul 1, 2016 at 4:32 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
   The DOE SciDAC institutes have supported PETSc linear solver research/code development for the past fifteen years.<br>
<br>
    This email is to solicit ideas for linear solver research/code development work for the next round of SciDAC institutes (which will be a 4 year period) in PETSc. Please send me any ideas, no matter how crazy, on things you feel are missing, broken, or incomplete in PETSc with regard to linear solvers that we should propose to work on. In particular, issues coming from particular classes of applications would be good. Generic "multi physics" coupling types of things are too general (and old :-)) while  work for extreme large scale is also out since that is covered under another call (ECP). But particular types of optimizations etc for existing or new codes could be in, just not for the very large scale.<br>
<br>
    Rough ideas and pointers to publications are all useful. There is an extremely short fuse so the sooner the better,<br></blockquote><div><br></div><div>I think the suggestions so far are fine, however they all seem to start at the "how", whereas I would prefer we start at the "why". Maybe something like</div><div><br></div><div>1) How do we run at bandwidth peak on new architectures like Cori or Aurora?</div><div><br></div><div>Patrick and Rich have good suggestions here. Karl and Rich showed some promising numbers for KNL at the PETSc meeting.</div><div><br></div><div>2) How do we run larger Comp Chem simulations?</div><div><br></div><div>Use sparse tensors as Jeff suggests. The baby example for this is MatMatMult(), which we have been screwing with for years,</div><div>so its not easy.</div><div><br></div><div>3) How do we improve the user interface for multiphysics?</div><div><br></div><div>Assembling pieces of a matrix should already work using</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetLocalSubMatrix.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetLocalSubMatrix.html</a></div><div><br></div><div>As Hong says, for solvers, MatGetSubMatrix() should be more scalable.</div><div><br></div><div>4) How do we precondition Helmholtz?</div><div><br></div><div>This is a perennial ask on petsc-maint, and Domenico gave a great presentation on his results in Vienna. Just</div><div>pulling this into the library would be worthwhile.</div><div><br></div><div>For me, there are richer questions in the nonlinear arena, such as</div><div><br></div><div>a) What smoothers are appropriate for FAS?</div><div><br></div><div>I think NASM, but there is nonlinear row-projection (ABS), NBGS, NGMRES, NCG (never works), and others. We have no</div><div>good theory here. The gap is yawning.</div><div><br></div><div>b) How should NASM be formulated?</div><div><br></div><div>Do we take big blocks or small blocks? What BC do we use? How do we specify the BC to PETSc once we decide</div><div>what they should be?</div><div><br></div><div>Considering that Xiao-Chuan, David, Hans DeSterck, and Rolf Krause all have multiple papers on some sort of NASM</div><div>this year makes me think this is a good topic.</div><div><br></div><div>c) How do we rework the SNES loop to accommodate preconditioning?</div><div><br></div><div>I have a branch that proposes a new organization, but we do not even have enough tests to make me confident that I</div><div>am not breaking things. We should be writing something on the level of the Templates book for nonlinear, since that is</div><div>what people are asking for to understand this stuff.</div><div><br></div><div>I think its too bad if fusty DOE categories prevent us from suggesting some subset of the above.</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
    Thanks<br>
<span><font color="#888888"><br>
      Barry<br>
<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div data-smartmail="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>