[petsc-dev] [petsc-maint] circular dependency [nightlybuilds did not catch]

Smith, Barry F. bsmith at mcs.anl.gov
Sat May 4 12:33:22 CDT 2019


  Yes you have the history exactly right, but keeping them as independent beasts seemed/seems impossible; except by doing something very cumbersome (like shoving all the PCXXX_YYY that depended on KSP into the KSP src directory). So the "opted" was really forced upon us.

   Barry


> On May 4, 2019, at 11:47 AM, Dave May <dave.mayhem23 at gmail.com> wrote:
> 
> 
> 
> That is, there used to be
> src/sles/ksp 
> and 
> src/sles/pc
> and rather than having ksp and pc as independent beasts living under src/ it was opted to keep them "coupled" wrt the directory tree and thus src/sles became src/ksp
> 
> 
> 
> 
> 
> 
> 
> 
> > 
> > Whereas e.g. Layout, SF, Section do not contain IS and also otherwise they are basically unrelated except they all arrange some kind of index mapping. And there are multiple utils ar different levels and nobody knows where to put what. Plus all those have absolutely nothing in common with Vec.
> > 
> > Vaclav
> > 
> >> 
> >> "Smith, Barry F." <bsmith at mcs.anl.gov> writes:
> >> 
> >>>  Ok
> >>> 
> >>> 
> >>>> On May 4, 2019, at 12:45 AM, Václav Hapla
> >> <vaclav.hapla at erdw.ethz.ch> wrote:
> >>>> 
> >>>> 
> >>>> 
> >>>> 4. května 2019 1:08:09 GMT+03:00, "Smith, Barry F."
> >> <bsmith at mcs.anl.gov> napsal:
> >>>>> 
> >>>>> 
> >>>>>> On May 3, 2019, at 5:00 PM, Hapla Vaclav
> >> <vaclav.hapla at erdw.ethz.ch>
> >>>>> wrote:
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> OK, so index, idx, other idea?
> >>>>> 
> >>>>> I'm not sure index is that informative (and not expansive enough).
> >>>>> petscdm.h means nothing, maybe something short that doesn't mean
> >>>>> anything?
> >>>> 
> >>>> Ok, that directly suggests im. One can interpret is as index
> >> mapping/management.
> >>>> 
> >>>>> 
> >>>>>> 
> >>>>>> If we would have layout, is, sf, section in the same subdir, I
> >> would
> >>>>> move there also ao and ltog.
> >>>>> 
> >>>>> Sure
> >>>>> 
> >>>>>> 
> >>>>>> What about the headers - I guess having all those classes in one
> >>>>> would be easier to handle and avoid circular dependencies, and
> >> would
> >>>>> reflect the directory structure. But should we keep separate
> >>>>> petsc{ao,is,sf}.h, then I would suggest also separate
> >>>>> petsc{layout,section,ltog}.h
> >>>>> 
> >>>>> Separate is better.
> >>>>> 
> >>>>>> 
> >>>>>> When we are at it, why we sometimes have <class>types.h and
> >> sometimes
> >>>>> not?
> >>>>> 
> >>>>> We add these "as needed"; Jed can explain better exactly when they
> >> are
> >>>>> needed.
> >>>>> 
> >>>>>> 
> >>>>>> Vaclav
> >>>>>> 
> >>>>>> (added CC to petsc-dev)
> >>>>>> 
> >>>>>>> 
> >>>>>>> 
> >>>>>>>> map
> >>>>>>>> imap
> >>>>>>>> idxmap
> >>>>>>>> ... or something alike.
> >>>>>>>> 
> >>>>>>>> Vaclav
> >>>>>>>> 
> >>>>>>>>>> 
> >>>>>>>>>> Vaclav
> >>>>>>>>>> 
> >>>>>>>>>>> 
> >>>>>>>>>>> Why not at lest make an additional level between Sys and Vec
> >> for
> >>>>> those sectioning utilities? Would make more sense to me.
> >>>>>>>>>>> 
> >>>>>>>>>>> Vaclav



More information about the petsc-dev mailing list