Skip to content

Make the global process-group usage check report-only - #7986

Merged
jaredcasper merged 2 commits into
NVIDIA:mainfrom
Connor-XY:yx/pstate-ratchet-report-only
Oct 9, 2026
Merged

jaredcasper merged 2 commits into
NVIDIA:mainfrom
Connor-XY:yx/pstate-ratchet-report-only

Conversation

@Connor-XY

Copy link
Copy Markdown
Contributor

Why. #6258 added a ratchet against new reads of global process-group state in megatron/core. It fails CI in two places: the workflow's checker step, which is not a required check, and TestCommittedBaseline.test_matches_current_tree, which compares the real tree with the allowlist. The H100 catch-all unit-test bucket collects that test, and the bucket feeds the required Nemo_CICD_Test, so the ratchet is in effect a merge gate. It rejects any new read, including a pg_collection=None fallback to parallel_state for callers that don't pass a ProcessGroupCollection. It also rejects refactors that move a grandfathered read, or remove one without refreshing the allowlist. Whether new code may add such fallbacks hasn't been agreed yet. The repository's agent guidance (CLAUDE.md, "Megatron Core Process Groups") also treats the rule as advisory rather than a CI gate. This PR makes the check report-only until the policy is settled in #6307.

What.

  • The workflow's checker step gets continue-on-error: true. New and stale entries are still listed in the job log, but the job passes.
  • TestCommittedBaseline is removed. The remaining 29 tests run the checker on synthetic sources in temporary directories and don't depend on the tree.
  • The checker, the allowlist, and --update/--stats are unchanged.

Tests.

  • The 29 checker tests pass when the file is run directly (Python 3.12), and the checker passes on current main (210 grandfathered reads).
  • I copied the tree twice: (a) adding a new fallback read to megatron/core, and (b) removing a grandfathered read without running --update. In both, the test file from main fails and this version passes. The checker still reports both cases and exits 1.
  • There are no runtime code changes, so no performance impact.

Related to #6307.

🤖 Generated with Claude Code

The check added for the parallel_state migration blocks merges through two
paths: its own workflow step, and TestCommittedBaseline, which compares the
real megatron/core tree with the allowlist and runs in the required unit-test
job. That makes every new read of parallel_state, including a fallback for
callers that do not pass a ProcessGroupCollection, a hard error before there
is agreement on whether such fallbacks are allowed. The repository's agent
guidance already treats this as advisory, not a CI gate.

Keep the checker and its stdlib tests. List new reads in the workflow log
without failing the job, and drop the test that compares the tree with the
allowlist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Yan Xu <yxu1@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 8, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@svcnvidia-nemo-ci svcnvidia-nemo-ci added the Approved All necessary approvals have been made label Oct 8, 2026
@jaredcasper
jaredcasper enabled auto-merge October 8, 2026 18:59
@Connor-XY

Copy link
Copy Markdown
Contributor Author

/ok to test 6a5c2f1

@nemo-automation-bot

Copy link
Copy Markdown

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/37965685307

@nemo-automation-bot

Copy link
Copy Markdown

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/37965726558

@nemo-automation-bot

Copy link
Copy Markdown

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/37965761935

Merged via the queue into NVIDIA:main with commit 9773005 Oct 9, 2026
108 checks passed

This branch was previously deployed

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

Labels

Approved All necessary approvals have been made complexity: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants