-
Notifications
You must be signed in to change notification settings - Fork 12
Add edge_interior_ratio argument to TilePartitioner #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ng, added one test case with just one interface dimension
…nd fixed current unit tests.
…erm/pace into feature/shrinked_edge_partitioning
|
Can one of the admins verify this patch? |
|
ok to test |
|
launch jenkins |
2 similar comments
|
launch jenkins |
|
launch jenkins |
|
launch jenkins |
pace-util/HISTORY.md
Outdated
| - Renamed DummyComm to LocalComm, and added support for message tags. The DummyComm symbol is still in place for backwards compatibility, but points to LocalComm | ||
| - added error in CubedSphereCommunicator init if given a communicator with a size not equal to the total ranks of the given partitioner | ||
| - `subtile_extent` method of Partitioner classes now takes in a required `rank` argument | ||
| - TilePartitioner has a new `edge_interior_ratio` argument which defaults to 1.0, and lets the user specify the relative 1-dimensional extent of edge and corner compute domains compared to interior compute domains. In all cases, the closest valid value will be used, which enables some previously invalid configurations (e.g. C128 on a 3 by 3 layout will use the closest valid edge_interior_ratio to 1.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - TilePartitioner has a new `edge_interior_ratio` argument which defaults to 1.0, and lets the user specify the relative 1-dimensional extent of edge and corner compute domains compared to interior compute domains. In all cases, the closest valid value will be used, which enables some previously invalid configurations (e.g. C128 on a 3 by 3 layout will use the closest valid edge_interior_ratio to 1.0) | |
| - TilePartitioner has a new `edge_interior_ratio` argument which defaults to 1.0, and lets the user specify the relative 1-dimensional extent of the boundaries (edge and corner) compute domains compared to interior compute domains. In all cases, the closest valid value will be used, which enables some previously invalid configurations (e.g. C128 on a 3 by 3 layout will use the closest valid edge_interior_ratio to 1.0) |
Trying to align the wording with the code (e,g, ratio between interior and boundary tile sizes. in function comment). Boundary is a bit of a loaded term here, so you might want to flip for a constructed "edge-corner" concept or something better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
Do we want to have at least one test using a non-default ratio that actually exchange data? Not quite a unit test per se, but it sounds safer to have at least one of those |
|
Good catch, I hadn't noticed there wasn't one. I'll add at least one each of a true MPI and mock MPI case. |
…-one edge_interior_ratio
FlorianDeconinck
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
|
launch jenkins |
* initial commit, need to adapt and run tests * revising scheme name * tests pass * update history * linting * changing typehints for physics schemes to enum instead of str * driver now works with physics config enum, tests pass * fixed tests * missed one
tests/test_partitioner.pyupdated to reflect some more advanced assignments.subtile_extentmethod of Partitioner classes now takes in a requiredrankargumentedge_interior_ratioargument which defaults to 1.0, and lets the user specify the relative 1-dimensional extent of edge and corner compute domains compared to interior compute domains. In all cases, the closest valid value will be used, which enables some previously invalid configurations (e.g. C128 on a 3 by 3 layout will use the closest valid edge_interior_ratio to 1.0)TilePartitioner.subtile_slice()to do custom subdomain partitioning.This PR is replacing #33 with its feature branch moved from my fork to the
pacerepo.