Skip to content

Conversation

@bobpaw
Copy link
Collaborator

@bobpaw bobpaw commented Jun 23, 2025

Fix balancing empty parts with metis

  • added test mbalanceEmpty.cc to confirm that balancing with empty parts works.
  • metis/apfMETISbalancer.cc: fixed helper function preconditions.
  • (MetisBalancer::balance): allow balancing with one part (no work to do anyway).
  • test/testing.cmake: update msplit dependency on pipe convert test.

bobpaw added 2 commits June 22, 2025 15:27
- test/mbalanceEmpty.cc: add test to try to balance with empty input
  parts, which may occur during cavity operator localization.
- test/CMakeLists.txt: add mbalanceEmpty.
- test/testing.cmake: add mbalanceEmpty.
- add msplit dependencies on convert given ENABLE_SIMMETRIX.

Signed-off-by: Aiden Woodruff <[email protected]>
- change asserts to debug since they are on helpers and any bad input
  should be programmer error.
- metis/apfMETISbalancer.cc (gatherGraph): change precondition from
  |owned_xadj| > 1 to owned_xadj is non-empty. an empty xadj should just
  have the number 0.
- (scatterPart): remove n_owned > 0. send/receive 0 should just be a
  no-op.

Signed-off-by: Aiden Woodruff <[email protected]>
@bobpaw bobpaw mentioned this pull request Jun 23, 2025
@bobpaw bobpaw requested a review from cwsmith June 23, 2025 16:24
@cwsmith
Copy link
Contributor

cwsmith commented Jun 23, 2025

/runtests

@github-actions
Copy link

Build Log
Simmetrix Test Result: success
Simmetrix + CGNS Test Result: success

bobpaw and others added 2 commits June 23, 2025 12:45
- test/mbalanceEmpty.cc: add info to USAGE text about new requirement.
- check for inParts >= PCU.Peers and throw.
- print exceptions with nested printing function.
- alter scope so that PCU.Self() can be used from exception printing
  code.
- add retval to only write pcu::Finalize once.

Signed-off-by: Aiden Woodruff <[email protected]>
@cwsmith cwsmith merged commit eb30b3d into develop Jun 23, 2025
33 checks passed
@cwsmith cwsmith deleted the apw/metis-empty-parts branch June 23, 2025 19:56
@cwsmith cwsmith added the v4.1.0 changes included in the 4.1.0 release label Aug 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v4.1.0 changes included in the 4.1.0 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants