dolfinx icon indicating copy to clipboard operation
dolfinx copied to clipboard

Platform stable graph partitioner

Open schnellerhase opened this issue 1 year ago • 0 comments

Describe new/missing feature

During the design of parallel test cases for PR https://github.com/FEniCS/dolfinx/pull/3359 it was observed that the graph partitioners (at least scotch and parmetis, did not test kahip) produce unstable results across different platforms.

This is a problem when it comes to reproducibility of results, especially for test cases. Tests running on a different platform will create differently parallelized meshes and thus mesh structures. Additionally for a user it might be hard to understand why a platform change (mind you with same parallelization settings) yields different, not strictly, comparable results - this should at least be possible to enforce.

To fix this one would either need to figure out how to make these behave equally - tried that myself without luck - or introduce some kind of nice interface to facilitate this, i.e. a partitioner dummy that reproduces a given (previously computed) partitioning.

In the before mentioned PR this is facilitated by just mimicking the behavior of graph::scotch::partitioner(...) explicitly and switching the result depending on the current communicator size.

Suggested user interface

No response

schnellerhase avatar Aug 21 '24 07:08 schnellerhase