Skip to content

Keep extracted boundary names consistent across MPI ranks - #856

Open
gthyagi wants to merge 1 commit into
underworldcode:developmentfrom
gthyagi:bugfix/submesh-boundary-names
Open

gthyagi wants to merge 1 commit into
underworldcode:developmentfrom
gthyagi:bugfix/submesh-boundary-names

Conversation

@gthyagi

@gthyagi gthyagi commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Extracting a distributed region currently builds each rank’s boundary enum from locally surviving strata. A coarse annulus mantle extraction can omit Upper on a rank with no upper-wall points. Registering the natural Stokes boundary condition then raises KeyError: Upper while other ranks enter collective solver setup.

This change selects surviving boundary names over the submesh communicator and creates empty local labels for globally retained boundaries. Candidate order is preserved, and labels absent everywhere remain excluded. It changes metadata, not mesh coordinates, partitioning or equations.

Validation: two focused regressions pass serial and on both MPI ranks, including actual region extraction and an intentionally empty local label. The fresh Gadi PETSc int32 build passed 34 serial checks and 4 checks on each of 16 MPI ranks. All four affected case1/case2 Poisson models at h=1/8 and h=1/16 completed successfully on 16 ranks after the fix; the original failures are retained. No spherical models or tests are run.

Region filtering previously selected boundary enum members from rank-local strata. A coarse extracted annulus lost Upper on some ranks, causing KeyError in natural Stokes boundary registration while peers entered collectives. Union label presence over the DM communicator and create empty labels where globally retained boundaries have no local points. Preserve candidate order and exclude globally absent labels.

Validation: two focused regressions pass serial and on each of two MPI ranks, including actual region extraction. No equations, coordinates, partitioning or finite-element values change. Next validate the existing int32 Gadi installation gates and rerun only the four affected coarse Poisson models.
@gthyagi
gthyagi marked this pull request as ready for review October 23, 2026 07:15
@gthyagi
gthyagi requested a review from lmoresi as a code owner October 23, 2026 07:15

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant