[petsc-dev] future of PetscSubcomm
Barry Smith
bsmith at mcs.anl.gov
Wed Jul 31 16:45:55 CDT 2013
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