bin/meshdist.py: utility for partitioning gmsh-format meshes into rank-specific pkl files, and creates some partition mapping files needed by bin/redist.py
bin/redist.py: reads mirgecom restart files and mapping files created by meshdist.py to create a new restart dataset for a different partitioning.
bin/mapdecomp.py: Diagnostic tool that discovers a bunch of stuff about a given partitioning, like how many rank/part neighbors each rank/part has
some documentation
Modifes:
simutil.py: Adds pkl file-based partitioning, arbitrary M reader ranks - to - N writer ranks partitioning (like node-local partitioning)
restart.py: Adds utils for mapping data from m-to-n partitionings, and m-to-n restart
test_resetart.py: Adds some tests for addded utils (with required data)
Questions for the review:
[ ] Is the scope and purpose of the PR clear?
[ ] The PR should have a description.
[ ] The PR should have a guide if needed (e.g., an ordering).
[ ] Is every top-level method and class documented? Are things that should be documented actually so?
[ ] Is the interface understandable? (I.e. can someone figure out what stuff does?) Is it well-defined?
[ ] Does the implementation do what the docstring claims?
[ ] Is everything that is implemented covered by tests?
[ ] Do you see any immediate risks or performance disadvantages with the design? Example: what do interface normals attach to?
Overrides #973 to add m-to-n restart capabilities
Adds:
bin/meshdist.py
: utility for partitioninggmsh
-format meshes into rank-specificpkl
files, and creates some partition mapping files needed bybin/redist.py
bin/redist.py
: reads mirgecom restart files and mapping files created bymeshdist.py
to create a new restart dataset for a different partitioning.bin/mapdecomp.py
: Diagnostic tool that discovers a bunch of stuff about a given partitioning, like how many rank/part neighbors each rank/part hasModifes:
simutil.py
: Adds pkl file-based partitioning, arbitrary M reader ranks - to - N writer ranks partitioning (like node-local partitioning)restart.py
: Adds utils for mapping data from m-to-n partitionings, and m-to-n restarttest_resetart.py
: Adds some tests for addded utils (with required data)Questions for the review: