[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