[petsc-dev] future of PetscSubcomm
Barry Smith
bsmith at mcs.anl.gov
Wed Jul 31 22:39:31 CDT 2013
If you do it then it will be the first issue ever resolved :-)
Hmm, if this is archived maybe I should be a bit more professional -:(
Barry
On Jul 31, 2013, at 10:07 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:
> Yes, I'm working on it.
> Hong
>
>
> On Wed, Jul 31, 2013 at 4:45 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> https://bitbucket.org/petsc/petsc/issue/46/replace-petscsubcomm-with-the-information
>
>
> On Jul 31, 2013, at 10:59 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
> > Barry Smith <bsmith at mcs.anl.gov> writes:
> >
> >> Jed,
> >>
> >> Hong and I were discussing MatGetRedundantMatrix() etc and she
> >> mention that you don't like PetscSubcomm. I suggested removing the
> >> PetscSubcomm object from PETSc but retaining the functionality of
> >> PetscSubcomm by putting the subcomm information into an MPI
> >> attribute inside an MPI_Comm (so this new comm behaves like a
> >> MPI_Comm subclass with extra data over a regular MPI_Comm) and
> >> having something like PetscCommSublimate(comm, …., &subcomm with
> >> attribute). Then in all the places in PETSc that take PetscSubcomm
> >> they would instead take a MPI_Comm and check for the attribute and
> >> use the additional information if it is there.
> >
> > I would be inclined to remove dependence on this extra information
> > whenever possible. For example, I think it is counter-productive in
> > MatGetRedundantMatrix because it imposes a distribution that has poor
> > locality. But if we need that extra information, or can do something
> > better if it is there, I prefer attaching it as an attribute to having a
> > wrapper (PetscSubcomm).
> >
> >> Managing destruction will be tricky due to possible reference
> >> loops but presumably we can figure out a way to do it.
> >
> > What is missing in the MPI attribute callbacks to implement reference
> > counting? (We already use it for this purpose.)
>
>
More information about the petsc-dev
mailing list