MmgTools / ParMmg

Distributed parallelization of 3D volume mesh adaptation
Other
34 stars 19 forks source link

Refactoring of `mpipack_pmmg.h` and `mpiunpack_pmmg.h` to use `MPI_Struct` instead of char array. #118

Open Algiane opened 3 months ago

Algiane commented 3 months ago

The mesh packing inside a char array implies that we need large intergers to store the message size.

An alternative that was implemented in the past (and was working I think) used hierarchical MPI_Struct to define the C structures used in the mesh (points, xpoints, tetra...) as well as the mesh itself. It should allow to easier the mesh communication and to reduce the size of the integer used to provide the message size (because the MPI structures will be larger than chars which is the minimal unit for the type of variables).

See issue #113 and PR#117