[petsc-dev] use of hash table vs array in various places in PETSc

Jed Brown jedbrown at mcs.anl.gov
Wed Sep 21 00:18:59 CDT 2011


On Wed, Sep 21, 2011 at 00:52, Barry Smith <bsmith at mcs.anl.gov> wrote:

> Custom MPI_Datatypes allow you to put stuff whereever you want? Right?


Yes, but they specify the base type. So you can read and write from a sparse
subset of an array, but you have to know that it's an array of double when
you create it. You can't reuse the same sparse distribution for ints. This
means that if the information is only encoded in a MPI_Datatype, then we
can't amortize the setup and memory costs by having one scatter that can
move both.

Maybe that's okay, but it means that the PETSc object would need to either
(a) make on of these thingies for every known type, (b) keep the index
arrays around, or (c) make a new MPI_Datatype from an existing MPI_Datatype
in which the layout is preserved, but the atom is changed.

None of these get around duplicating the memory to hold the layout within
the MPI stack.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110921/22591322/attachment.html>


More information about the petsc-dev mailing list