[petsc-dev] PetscSection

Jed Brown jedbrown at mcs.anl.gov
Tue Sep 10 20:55:07 CDT 2013


Matthew Knepley <knepley at gmail.com> writes:
>> PetscSF cannot currently scatter individual bytes (4 bytes minimum), and
>> even if it could, it's a horribly inefficient representation (4 or 8
>> bytes of metadata for each byte of payload).  The quick fix at that
>> moment was to send in units of size PetscInt (the struct was always
>> going to be divisible by that size).
>>
>
> The way I understand it, he never had a single MPI_BYTE, but always a bunch.
> Shouldn't that packing handle that case?

In DMPlexDistributeData, your fieldSF is blown up so that every unit has
its own metadata (rank, offset).  That's a terrible mechanism for moving
structs with hundreds of bytes.

I would rather not make PetscSF deal with fully-heterogeneous data
(where each node can have a different size) because it makes indexing a
nightmare (you need a PetscSection or similar just to get in the door; I
don't want PetscSF to depend on PetscSection).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130910/64be5be2/attachment.sig>


More information about the petsc-dev mailing list