[Petsc-trilinos-discussion] Scope and requirements
Matthew Knepley
knepley at gmail.com
Thu Nov 21 14:40:39 CST 2013
On Thu, Nov 21, 2013 at 2:01 PM, Bartlett, Roscoe A. <bartlettra at ornl.gov>wrote:
> Matt,
>
> But someone would have to physically modify one or perhaps two of the
> three APPs in the three-APP scenario mentioned in the below slides and
> paper right? If the breaks in backward compatibility are significant, who
> is going to upgrade APP1 and APP2 to the current version of Library A (or
> at least the one currently used in APP3)? If the core developers for APP1
> and APP2 are not part of the project to couple these with APP3, then who is
> going to make those mortifications to APP1 and APP2? How can they safely
> make those changes if they are not the core developers? Will those
> mortifications make it back into the master sources for APP1 and APP2? If
> the breaks in backward compatibility are minor, then what is the big deal
> in maintain backward compatibility over longer periods of time? However,
> if the breaks in backward compatibility are significant and the behavior of
> the software changes a lot (even for the better), then that can result in a
> lot of work to upgrade the (likely poorly designed) test suites of these
> APP codes. How can this work in practice?
>
>
>
> This relates to my point 3. We do not change our interface based on the
> external package, so no problem.
>
>
>
> *[Bartlett, Roscoe A.] So PETSc does maintain backward compatibility of
> the interfaces and behavior? I think that constitutes the definition of
> “backward compatibility”. Then what is the argument here?*
>
Nope. I am not sure why we would argue for anything beyond interface
stability.
> As for the code GAMG to replace ML, should we tell the LANL Hydra-TH
> developers to stop using ML under PETSc and use GAMG instead? Will they
> get the same or better performance in all cases? Will this change their
> solutions requiring them to re-verify their entire test suite? If the
> answer is yes to any of these, this will be a harder sell.
>
>
>
> If their test suites are based upon convergence to a given tolerance, as
> all parallel tests must be, then everything will be fine.
>
>
>
> *[Bartlett, Roscoe A.] Have you seen exodiff-based testing? Exodiff uses
> an unscaled L-infinity norm that makes it very hard to set good
> tolerances. If applications defined a application-specific inner product
> with physics meaning, setting a good engineer tolerance would be easy and
> robust. Yes, if application codes defined good robust tests this would be
> a piece of cake but they don’t in many cases. That is the reality with
> these codes. However, that does not answer the issue of performance of ML
> vs. GAMG which the Hydra-TH developers and users will care a lot about also
> obviously. Googling for “GAMG preconditioner” does not find anything.
> Should I be searching for something else?*
>
The algorithms are nearly identical. The performance should be better on
large machines because Mark is careful about making process
subsets for coarse grids:
http://lmgtfy.com/?q=Petsc+GAMG+PC
> BTW: The guidelines you list below for smoothing the breaks in backward
> compatibility are important, but that does **not** negate the advantages
> in maintaining contiguous sets of releases that maintain backward
> compatibility when considering larger software ecosystems. Those measures
> just make it less painful when you do finally break backward compatibility
> but that change still requires careful manual changes to the code, usually
> by the core developers of the user code.
>
> I have never been convinced of the merits of versioning. It always creates
> more problems than it solves, as evidenced by this thread I think.
>
>
>
> *[Bartlett, Roscoe A.] I don’t understand what you mean by “versioning”.
> We likely will need to discuss this in person at some point. Are you going
> to the SWP2XS workshop in January?*
>
>
>
> http://www.orau.gov/swproductivity2014
>
Its likely.
>
>
*Without understanding exactly what the PETSc policy is on backward
> compatibility, it is hard to know how to start going about building the
> foundation for a strategy for PETSc and Trilinos mutual co-existence and
> compatibility in complex lifecycle scenarios.*
>
It should be enough to look at interface compatibility.
Matt
> *Cheers,*
>
>
>
> *-Ross*
>
>
--
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-trilinos-discussion/attachments/20131121/faccd60b/attachment.html>
More information about the Petsc-trilinos-discussion
mailing list