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 <[email protected]> wrote: > Thanks! > > On Wed, Apr 27, 2016 at 6:23 AM, Satish Balay <[email protected]> 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
