Skip to content

The co-located multigrid tail fails at np=3 on the 3-D width network: a Galerkin coarse operator with a missing diagonal, and a 10% slip error #671

Description

@lmoresi

Found while measuring the placement gather (#670) on the crossing-patches fixture (tests/parallel/ptest_0863, split realisation, linear viscous + contact). np=2 and np=4 reproduce the serial slips to five digits; np=3 does not, in two different ways depending on the partition.

With the placement gather as on development (the wide mark of #670), np=3 completes the solve but the smallest piece is 10% low:

AssertionError: Cross_2: parallel peak 0.0027 vs serial 0.00295

Main and Cross_1 pass. The velocity block is custom-FMG, as asserted.

With the tightened gather mark (branch feature/placement-local-gather, which moves about half as many cells and so changes the partition of the fine level), np=3 fails in the multigrid setup on rank 2, reproducibly:

[2]PETSC ERROR: Argument out of range
[2]PETSC ERROR: New nonzero at (1497,1497) caused a malloc.
#3 MatDiagonalSet_Default ... #8 MatGalerkin ... #9 PCSetUp_MG

A Galerkin coarse operator with no diagonal entry means a coarse degree of freedom that no fine row maps to, i.e. a zero column in the transfer that the parallel repair (_repair_zero_columns_parallel) did not catch, or a coarse row that is owned on a rank with no fine image on that rank. The serial path repairs such columns; the parallel guard is the piece the design note (fault-patch-multigrid-2026-08.md, parallel rule 5) lists as needing a parallel form.

Both symptoms are in the co-located tail (#662) at three ranks, not in the placement. np=3 was the rank count the design rule said to test, and neither ptest_0863 nor the other network ptests run at np=3 in CI (they are not in scripts/test.sh's globs at all).

Underworld development team with AI support from Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions