dolfinx icon indicating copy to clipboard operation
dolfinx copied to clipboard

Use bitset in VTKHDF read mesh, removing MPI_Allgatherv call.

Open chrisrichardson opened this issue 5 months ago • 2 comments

Rather than communicating all mesh cell types globally using MPI_Allgatherv use a bitset to do a set union on the cell type and degree. Using 8 cell types, and degrees 1-8, this fits into a 64-bit bitset.

chrisrichardson avatar Jun 24 '25 10:06 chrisrichardson

Addresses issue #3701

chrisrichardson avatar Jun 24 '25 10:06 chrisrichardson

I think a medium term fix would be that the mesh construction/factory function takes only the cell types on the calling process. Then this issue (largely) disappears.

Once the mesh topology is built, information on the cell polynomial degree can be communicated (at the same time that the geometry data is communicated.

garth-wells avatar Jun 24 '25 11:06 garth-wells