[dune-pdelab] Sending bytes in communication breaks portability

Christian Engwer christian.engwer at uni-muenster.de
Fri Jun 27 12:32:45 CEST 2014


Hi Markus,

> The implementation simply writes the size and data to a char array sends
> this as bytes to the other processors. Unfortunately, this will break
> behaviour that people expect from MPI libraries and
> applications. Namely, that sending data between processes on different
> hardware platforms works. With sending bytes this is not the case
> anymore and might provoke rather hard to find errors in the
> computations. (E.g. the size of size_t might be different or then
> endianess and as a result what we reveive might not be what we send). 

This is a general issue in due and presumably many parts in dune will
not work in heterogenerous setups.

The template MPI data wrappers in common do exactly the same, they
fold everything into a char array and send this. While it is
definitely a good idea to fix this particular case in pdelab, we will
still have the general problem of sending data dune.

Christian




More information about the dune-pdelab mailing list