Platform stable graph partitioner
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