[petsc-dev] [petsc-users] SAMG support

Patrick Sanan patrick.sanan at gmail.com
Wed Apr 27 03:53:55 CDT 2016

I'll take this opportunity to ask a question that I've been idly
wondering about.

A very powerful feature of PETSc, yet one that somehow doesn't seem to
get talked about as much as would have thought, is the plug-in design.
People tend to ask "is X in PETSc" all the time, when X is a
non-open-source external solver or package.

When the answer is "no, there isn't an interface with the library
itself" (due to licensing or versioning concerns, lack of maintainer
time, fear of code bloat/rot, etc.), a seemingly workable compromise
is that the maintainer of a package (or an interested third party)
publishes and maintains a plug-in implementation of a PETSc class. For
instance, if there's interest in a PCSUPERCOOL but there is no
interface in PETSc, then I write the PC implementation, state which
version(s) of PETSc and the external library that I support, ask
interested users to compile and link it with their code (I can provide
a demo makefile which will make this easy by using PETSc's make
includes), and have them add a single registration line after
PetscInitialize which makes the new solver usable just as the built-in
ones are (via the options database and command line arguments). This
should be pretty transparent from the point of view of a user building
application code - critically, they won't have to rebuild PETSc. They
would be responsible for correctly linking to the correct version of
the external library.

I don't know of any packages that actually do this - are there some?
Is this a hassle for reasons I haven't thought through fully yet?

The specific interest I have in this is that a student of Olaf's has
been working with an interface to (non-MKL) PARDISO which I think
could be useful, and I'm also interested in there being an interface
to ILUPack.

On Wed, Apr 27, 2016 at 6:40 AM, Norihiro Watanabe <norihiro.w at gmail.com> wrote:
> Thanks!
> On Wed, Apr 27, 2016 at 6:23 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>> Yes its removed..
>> https://bitbucket.org/petsc/petsc/commits/758d9a8da9b91e4064de3b63c5dd04fe789a8049
>> Satish
>> On Tue, 26 Apr 2016, Norihiro Watanabe wrote:
>>> Hi,
>>> Is SAMG, a commercial multigrid solver, not supported in PETSc anymore? It
>>> seems an interface to the library was somehow implemented in PETSc v2. but
>>> I cannot find it in the latest version. I guess its support was dropped out
>>> already but want to make it sure.
>>> Best,
>>> Nori
> --
> Norihiro Watanabe

More information about the petsc-dev mailing list