ci(gb200): add 1-node mr-github functional test variants - #4334
Merged
Conversation
Onboard 8 new 1-node (4 GPU) GB200 functional tests for GitHub CI, derived from existing 2-node mr-scoped tests in gpt.yaml and moe.yaml. GPT tests (trivial copy, reduced DP): tp1pp1, tp2pp1, tp1pp2, tp1pp4, tp4pp1 MoE tests: ep8->4 for the two Muon tests, pp2->1 for the tp4ep2etp2pp2 test Adds gpt-1node.yaml recipe (nodes:1 gpus:4, mr-github scope) and extends moe-1node.yaml with the three new MoE entries. Also splits the build-and-test skill into build-and-dependency (containers, uv, linting) and testsystem (test layout, CI pipeline, failure investigation, CI labels, trigger_internal_ci), and adds an onboard-gb200-1node-tests skill documenting this workflow for future use. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
|
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. |
Contributor
Author
|
/ok to test |
New test cases require `Run functional tests` to generate golden values; update the testsystem skill rule-of-thumb accordingly. Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Translates all remaining H100 GPT and MoE tests with mr/mr-github scope into GB200 1-node (4-GPU) variants, expanding CI coverage to 49 new test cases split across gpt-1node.yaml (41 new) and moe-1node.yaml (8 new). Parallelism adaptations for 4-GPU targets: - tp2_pp2_cp2* (9 tests): PP 2→1, preserving CP=2 to keep context-parallel coverage - tp4_pp2 (1 test): PP 2→1 - ep8 MoE (1 test): EP 8→4 - tp4_ep2_etp2_pp2 MoE (1 test): PP 2→1, pipeline layout removed (PP=1 does not support multi-stage layout) All remaining 37 GPT and 6 MoE tests are trivial copies where TP×PP×CP ≤ 4 and EP satisfies the ETP constraint at DP=half. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
Golden values copied from 2-node source configs are invalid for the 1-node GB200 variants. Remove them so CI generates fresh golden values on first run. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
This file pre-existed in github/main and was incorrectly removed by the bulk golden values cleanup in the previous commit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
Contributor
Author
|
/ok to test |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
This was referenced Apr 16, 2026
On a single DGX GB200 node (4 GPUs) with TP=2, PP=1, EP=2 the expert_data_parallel_size collapses to 1 (4 / (2*1*2) = 1), which is not divisible by num_distributed_optimizer_instances=2, causing the assertion in parallel_state.py:1248 to fire. Reduce --expert-model-parallel-size from 2 to 1 so that expert_data_parallel_size = 4 / (2*1*1) = 2, which satisfies the divisibility requirement and allows the test to exercise the multi-distributed-optimizer-instance code path as intended. Fixes: NVIDIA#4342 Signed-off-by: Oliver Koenig <okoenig@nvidia.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
…broken Two 1-node tests are currently failing and need to be excluded from mr-github CI until they are fixed: - gpt3_mcore_te_tp1_pp4_vp1_tunable_overlap_1node (gpt-1node) - gpt3_mcore_te_tp2_pp1_resume_torch_dist_te_8experts2parallel_multi_dist_optimizer_instances_1node (moe-1node) Replace scope `mr-github` with `mr-github-broken` so they are skipped in CI without removing the test definitions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
Add a "Disabling a Test Without Deleting It" section to the testsystem skill: suffix the scope with `-broken` (e.g. `mr-github` → `mr-github-broken`) to skip a test in CI while keeping the entry intact for easy re-enablement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test |
chtruong814
approved these changes
Apr 16, 2026
Tracks NVIDIA#4344 Signed-off-by: oliver könig <okoenig@nvidia.com>
Contributor
Author
|
/ok to test e309104 |
ko3n1g
enabled auto-merge
April 16, 2026 20:50
Contributor
|
🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/24540904044 |
Victarry
pushed a commit
to yanring/Megatron-LM
that referenced
this pull request
Apr 20, 2026
* origin/main: (286 commits) Rename MambaModel/MambaStack to HybridModel/HybridStack (NVIDIA#4099) Fix Megatron initialization with extra_args_provider (NVIDIA#4327) Fix RL to once again work with --skip-train (NVIDIA#4249) Add activation logging and tokens per expert logging (NVIDIA#3842) Make param_index_map always use unpacked (full numel) offsets (NVIDIA#4328) FA4 Inference (NVIDIA#4186) Fix RL reward due to stop token (NVIDIA#4096) cp: Fix UT timeout (NVIDIA#4310) (NVIDIA#4373) feat(ckpt): add --async-ckpt-use-cpu-shm argument (NVIDIA#4355) Update copy-pr-bot.yaml [skip ci] Docs: improve docstrings and comments in example training loop (NVIDIA#4041) Add QK layernorm support for dot-product attention in MambaModel (NVIDIA#4067) Fix bug with non-partial rollouts (NVIDIA#3964) [docs] ci: use parent-relative json_url for version picker (NVIDIA#4367) Add tables and histogram for RL staleness (NVIDIA#4097) Port DeepSeek Sparse Attention to `MambaModel` (NVIDIA#3553) docs: bump versions1.json to 0.17.0 (latest) (NVIDIA#4360) Fix potential coredump issue that occurs when saving a checkpoint (NVIDIA#1871) ci(gb200): add 1-node mr-github functional test variants (NVIDIA#4334) fix: wait for async P2P send before deallocating output tensor (NVIDIA#4047) ... # Conflicts: # megatron/core/transformer/cuda_graphs.py
yangbofun
pushed a commit
to xlm-research/Megatron-LM
that referenced
this pull request
May 22, 2026
Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: Oliver Koenig <okoenig@nvidia.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
yhgalaxy
pushed a commit
to yhgalaxy/Megatron-LM
that referenced
this pull request
Jun 17, 2026
Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: Oliver Koenig <okoenig@nvidia.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: yhgalaxy <yhgalaxy@outlook.com>
jon-barker
pushed a commit
to jon-barker/Megatron-LM
that referenced
this pull request
Jul 10, 2026
Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: Oliver Koenig <okoenig@nvidia.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Jon Barker <jbarker@aws-cmh-slurm-1-vscode-02.cm.cluster>
terminator123
pushed a commit
to 021ai/Megatron-LM
that referenced
this pull request
Aug 3, 2026
Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: Oliver Koenig <okoenig@nvidia.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Translates all remaining H100 GPT and MoE tests with `mr`/`mr-github` scope into GB200 1-node (4-GPU, `mr-github`) variants. Expands CI coverage with 49 new test cases:
Parallelism adaptations (8 GPUs → 4 GPUs)
All trivial cases have `TP × PP × CP ≤ 4` so reducing DP from 2 to 1 is sufficient. The `ep4` MoE test (`tp2_pp1_te_a2a_ovlp_8experts_etp1_ep4`) is also trivial: `EP × ETP = 4 × 1 = 4 ≤ TP × DP = 2 × 2 = 4`.
All new tests use `scope: [mr-github]` only — no additions to `mr-github-slim` to keep the slim suite small.
Example
New `gpt-1node.yaml` products (excerpt):
```yaml
products:
scope: [mr-github]
platforms: [dgx_gb200]
products:
scope: [mr-github]
platforms: [dgx_gb200]
```
Test plan
🤖 Generated with Claude Code