[petsc-dev] de-global variablelizing PETSc

Matthew Knepley knepley at gmail.com
Sun Nov 10 18:23:43 CST 2013


On Sun, Nov 10, 2013 at 6:22 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Nov 10, 2013, at 6:15 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
> > Barry Smith <bsmith at mcs.anl.gov> writes:
> >
> >>   PetscInitializeBegin()
> >>   PetscSetX()
> >>   PetscSetY()
> >>   ….
> >>   PetscInitializeEnd()
> >>
> >>   where PetscInitialize() does the default of all of these things?
> >
> > I'm not sure you need a special PetscInitializeEnd(), just
> > PetscInitializeMinimal() and then pass arguments to the
> > optional/customizable initialization steps.
>
>    What about any possibly customizable steps that the user choose not to
> set? When would they happen? I was thinking in the InitializeEnd(). I
> really don’t like the InitializeAsNeeded much later business since some
> initializations may be collective.
>
>    We don’t have to save all the intermediate initialization info till the
> end. Each Set could trigger some initialization and the end only handles
> the left over.


This all seems like a terribly convoluted and fragile solution to this
problem. If we stack this up against some
extra configure work to get the lock call right, I think that is a clear
win.

   Matt


>
>    Barry
>
>
> > It's easier to understand
> > an error that is returned from the function that caused it then to store
> > the arguments until one big function at the end, unless there are
> > terribly confusing ordering problems.
>
>


-- 
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/20131110/e37a6b20/attachment.html>


More information about the petsc-dev mailing list