[petsc-dev] Soliciting suggestions for linear solver work under SciDAC 4 Institutes

Matthew Knepley knepley at gmail.com
Thu Jul 7 15:04:01 CDT 2016

On Fri, Jul 1, 2016 at 4:32 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>    The DOE SciDAC institutes have supported PETSc linear solver
> research/code development for the past fifteen years.
>     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.
>     Rough ideas and pointers to publications are all useful. There is an
> extremely short fuse so the sooner the better,

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

1) How do we run at bandwidth peak on new architectures like Cori or Aurora?

Patrick and Rich have good suggestions here. Karl and Rich showed some
promising numbers for KNL at the PETSc meeting.

2) How do we run larger Comp Chem simulations?

Use sparse tensors as Jeff suggests. The baby example for this is
MatMatMult(), which we have been screwing with for years,
so its not easy.

3) How do we improve the user interface for multiphysics?

Assembling pieces of a matrix should already work using


As Hong says, for solvers, MatGetSubMatrix() should be more scalable.

4) How do we precondition Helmholtz?

This is a perennial ask on petsc-maint, and Domenico gave a great
presentation on his results in Vienna. Just
pulling this into the library would be worthwhile.

For me, there are richer questions in the nonlinear arena, such as

a) What smoothers are appropriate for FAS?

I think NASM, but there is nonlinear row-projection (ABS), NBGS, NGMRES,
NCG (never works), and others. We have no
good theory here. The gap is yawning.

b) How should NASM be formulated?

Do we take big blocks or small blocks? What BC do we use? How do we specify
the BC to PETSc once we decide
what they should be?

Considering that Xiao-Chuan, David, Hans DeSterck, and Rolf Krause all have
multiple papers on some sort of NASM
this year makes me think this is a good topic.

c) How do we rework the SNES loop to accommodate preconditioning?

I have a branch that proposes a new organization, but we do not even have
enough tests to make me confident that I
am not breaking things. We should be writing something on the level of the
Templates book for nonlinear, since that is
what people are asking for to understand this stuff.

I think its too bad if fusty DOE categories prevent us from suggesting some
subset of the above.



>     Thanks
>       Barry

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20160707/2061712f/attachment.html>

More information about the petsc-dev mailing list