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

Matthew Knepley knepley at gmail.com
Wed Apr 27 06:47:08 CDT 2016

On Wed, Apr 27, 2016 at 5:51 AM, Lisandro Dalcin <dalcinl at gmail.com> wrote:

> On 27 April 2016 at 11:53, Patrick Sanan <patrick.sanan at gmail.com> wrote:
> >
> > 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).
> Actually, if you build your plugin as a shared library, then you can just
> -dll_append pcsupercool.so
> and get it registered, no need to modify code.

Note that this is how I organized our class project:


and as you can see from the build system, its really easy.



> >
> > I don't know of any packages that actually do this - are there some?
> >
> Don't know. But I would argue that many packages currently in PETSc
> could be reworked as plugins very easily.
> Oh! Hold on. We have some support for writing "plugins" in Python, and
> we dynamically load the Python shared library to bootstrap the Python
> runtime and then petsc4py. And IMHO, this is quite a bit more
> complicated that plain C plugins.
> >
> > Is this a hassle for reasons I haven't thought through fully yet?
> >
> The only hassle would be to updating it after new PETSc releases. And
> BTW, you could keep your code compatible with older PETSc releases
> with proper processor guards.
> A minor issue with dynamically loadable plugins is that using the
> command line is the only way to configure the package is through the
> command line. But that's a fair price to pay for not having to ever
> modify (nor recompile) your code.
> > 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.
> >
> Go for it. I can help with comments and review.
> PS: I'm not 100% sure about the status of dynamic lib loading in
> PETSc, but I can help with any required refactoring of that machinery
> to better support plugins.
> --
> Lisandro Dalcin
> ============
> Research Scientist
> Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
> Extreme Computing Research Center (ECRC)
> King Abdullah University of Science and Technology (KAUST)
> http://ecrc.kaust.edu.sa/
> 4700 King Abdullah University of Science and Technology
> al-Khawarizmi Bldg (Bldg 1), Office # 0109
> Thuwal 23955-6900, Kingdom of Saudi Arabia
> http://www.kaust.edu.sa
> Office Phone: +966 12 808-0459

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/20160427/45ead314/attachment.html>

More information about the petsc-dev mailing list