Skip to content

[None][infra] unify GB300 pre-merge and post-merge test lists - #21327

Open
ZhanruiSunCh wants to merge 4 commits into
NVIDIA:mainfrom
ZhanruiSunCh:user/zhanruis/1030_merge_gb300_test_lists
Open

ZhanruiSunCh wants to merge 4 commits into
NVIDIA:mainfrom
ZhanruiSunCh:user/zhanruis/1030_merge_gb300_test_lists

Conversation

@ZhanruiSunCh

@ZhanruiSunCh ZhanruiSunCh commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Description

GB300 functional stages already allocate four GPUs. Consolidate their pre-merge and post-merge coverage into l0_gb300_multi_gpus.yml, retaining the existing condition blocks and updating the pre-merge stage to use the shared context.

Preserve test entries and ordering, stage names, GPU allocations, and shard counts. Retain l0_gb300.yml as an empty single-GPU placeholder with its basic condition structure and a comment stating that no dedicated test stage currently uses it. Remove its unused static trigger entry. The existing multi-GPU CODEOWNERS pattern covers the shared list. Update the Kimi K3 topology assertion to use the shared list name, keeping its expected GPU counts and stage mappings unchanged.

Test Coverage

  • Rebased onto main 20bf00803a; all current test entries and conditions are preserved in the shared list.
  • The CI-pinned trt-test-db==1.8.5+bc6df7 produced identical before/after outputs in 16 scenarios: GB110/GB300, pre/post-merge, and 1/2/4/8 GPUs. Four-GPU selections contain 92 pre-merge and 84 post-merge entries before sharding.
  • CBTS ordered selections matched for all 123 parsed stages; test-to-stage mappings remained unchanged for all stages and 174 unique GB300 list entries.
  • Existing modeling_v2 CBTS tests: 25 passed. Pre-commit and DCO checks passed.
  • Previous targeted pipelines #67317 and #67884 rendered the stage lists correctly but stopped on SLURM batch failures (0:53), without pytest results from the failing allocations. A read-only Jenkins diagnostic found both affected nodes subsequently drained for reported Lustre issues. GPU validation is being rerun on the rebased head with --disable-fail-fast so sibling stages can finish.

PR Checklist

  • Reviewed the applicable checklist items; this change adds no runtime dependencies or public API changes.

Dev Engineer Review

The change consolidates GB300 pre-merge test selections in l0_gb300_multi_gpus.yml. The four-GPU pre-merge stage now uses that list. l0_gb300.yml remains an empty single-GPU placeholder, and changes to it no longer trigger multi-GPU testing. The Kimi K3 topology assertion now uses the shared list name.

The author reports that test selections matched across 16 scenarios, CBTS ordered selections matched across 123 parsed stages, and test-to-stage mappings were unchanged. The author also reports 25 modeling_v2 CBTS tests passed. The reported GPU pipelines failed during SLURM allocation and returned no pytest results for the affected allocations. Successful GPU validation on the rebased head is not reported.

QA Engineer Review

The test-list changes consolidate GB300 pre-merge entries for PyTorch, models, kernels, serving, Engram sharding, DeepSeek, NVFP4 DSpark, GLM-5.3-Flash, and Kimi K3 in l0_gb300_multi_gpus.yml. The topology unit-test expectation now refers to that list. The author reports 25 modeling_v2 CBTS tests passed, but GPU validation remains unresolved because the reported pipelines failed during allocation without pytest results. Coverage verdict: needs follow-up.

Per-File QA Perspective

  • jenkins/L0_MergeRequest.groovy: Removes l0_gb300.yml from related-file trigger handling. Verify that changes to the shared list still trigger the intended multi-GPU tests.
  • jenkins/L0_Test.groovy: Switches the GB300 four-GPU pre-merge stage to l0_gb300_multi_gpus. Verify selected tests and resource settings.
  • jenkins/scripts/cbts/cbts/rules/README.md: Clarifies that the comm/ entry under l0_gb300_multi_gpus is post-merge. Check that this matches the list configuration.
  • tests/integration/test_lists/test-db/l0_gb300.yml: Removes the former entries and retains an empty single-GPU placeholder. Verify CI selection behavior for its condition.
  • tests/integration/test_lists/test-db/l0_gb300_multi_gpus.yml: Adds GB300 pre-merge groups for 1–4-GPU and four-GPU configurations. Verify selectors, ordering, and shard settings in CI.
  • tests/unittest/scripts/cbts/test_modeling_v2_rule.py: Updates the expected Kimi K3 topology list name. The author reports 25 modeling_v2 CBTS tests passed.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • Resume reviews
  • Trigger review

No actionable comments were generated in the recent review.

Walkthrough

The GB300 single-GPU list now requires exactly one GPU and has an empty test list. The multi-GPU list adds three pre-merge groups. Jenkins selection, the related-file trigger, rule documentation, and a topology assertion are updated.

Changes

GB300 CI test lists

Layer / File(s) Summary
Test-list definitions
tests/integration/test_lists/test-db/l0_gb300_multi_gpus.yml, tests/integration/test_lists/test-db/l0_gb300.yml
l0_gb300_multi_gpus.yml adds three pre-merge groups for systems with one to four GPUs and exactly four GPUs. l0_gb300.yml now requires exactly one GPU and has an empty test list.
Jenkins selection and references
jenkins/L0_Test.groovy, jenkins/L0_MergeRequest.groovy, jenkins/scripts/cbts/cbts/rules/README.md, tests/unittest/scripts/cbts/test_modeling_v2_rule.py
The GB300 four-GPU stage selects the multi-GPU list. The related-file trigger excludes l0_gb300.yml. The rule documentation marks the multi-GPU comm/ entry as post-merge, and the topology assertion expects collective tests in the multi-GPU list.

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Refactor

Suggested reviewers: litaotju

Merge Risk: Minimal · up to 4cdd6

No actionable merge-blocking risk is established in the reviewed changes.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title names the main change: GB300 pre-merge and post-merge test lists are unified. The changeset consolidates the GB300 lists into l0_gb300_multi_gpus.yml, so the title matches the primary intent…
Description check Passed The description follows the repository template in substance. It has a Description section that explains what changed and why, and a Test Coverage section that lists concrete validation steps, pipelin…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: GB300 pre-merge and post-merge test lists are unified. The changeset consolidates the GB300 lists into l0_gb300_multi_gpus.yml, so the title matches the primary intent. It uses the [None][infra] format and is a single, concise sentence.

Full details: Description check

Explanation

The description follows the repository template in substance. It has a Description section that explains what changed and why, and a Test Coverage section that lists concrete validation steps, pipeline results, and the remaining rerun. The PR Checklist has one item checked. It does not use the template's exact section titles and omits the template's HTML comments, but the required information is present. The description also says a validation rerun is in progress, which leaves the verification status open.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between bb74f90 and 4cdd670.

Files selected for processing: 1
  • jenkins/L0_Test.groovy

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

@ZhanruiSunCh

Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list="GB300-4_GPUs-PyTorch-1,GB300-4_GPUs-PyTorch-Post-Merge-1,GB300-4_GPUs-PyTorch-Post-Merge-2,GB300-4_GPUs-PyTorch-Post-Merge-3"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #81654 [ run ] triggered by Bot. Commit: c6aa9d7 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #81654 [ run ] completed with state SUCCESS. Commit: c6aa9d7
/LLM/main/L0_MergeRequest_PR pipeline #67317 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

- condition:
ranges:
system_gpu_count:
gte: 1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list only maps to a 4-GPU stage currently. If some tests only require 1-GPU, I think we should keep l0_gb300 and l0_gb300_multi_gpus as similar to others, while l0_gb300 only contains the single-GPU tests with a dedicated 1-GPU test stage.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is currently no dedicated GB300 1-GPU stage; the existing GB300 functional stages request 4 GPUs. In commit a18ecb3863, I retained l0_gb300.yml as an empty placeholder with the basic condition structure and a comment explaining that no dedicated test stage currently uses it. Existing tests remain in l0_gb300_multi_gpus.yml, preserving the current scheduling and test coverage.

@ZhanruiSunCh
ZhanruiSunCh requested a review from chzblych November 3, 2026 08:41
@ZhanruiSunCh
ZhanruiSunCh force-pushed the user/zhanruis/1030_merge_gb300_test_lists branch from a18ecb3 to bb74f90 Compare November 3, 2026 08:43
@ZhanruiSunCh

Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list="GB300-4_GPUs-PyTorch-1,GB300-4_GPUs-PyTorch-Post-Merge-1,GB300-4_GPUs-PyTorch-Post-Merge-2,GB300-4_GPUs-PyTorch-Post-Merge-3"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82258 [ run ] triggered by Bot. Commit: bb74f90 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82258 [ run ] completed with state SUCCESS. Commit: bb74f90
/LLM/main/L0_MergeRequest_PR pipeline #67884 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

Move the post-merge GB300 blocks into l0_gb300.yml and point the existing three post-merge stages at the shared context. Preserve all conditions, ordered test entries, stage names, GPU allocations and split counts. Remove the obsolete list, update references and keep the multi-GPU review group assigned to the merged list.

Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
Use l0_gb300_multi_gpus.yml for both pre-merge and post-merge coverage. Update the pre-merge stage and related references while preserving test conditions, selections, resources, and sharding. The existing multi-GPU CODEOWNERS pattern covers the consolidated list.

Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
Keep the l0_gb300 YAML structure with an empty tests list and document that no dedicated GB300 single-GPU stage currently uses it. Existing coverage remains in the four-GPU stages.

Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
Point the Kimi K3 topology regression assertion added on main at the consolidated multi-GPU list. Keep its expected GPU counts and stage mappings unchanged.

Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
@ZhanruiSunCh
ZhanruiSunCh force-pushed the user/zhanruis/1030_merge_gb300_test_lists branch from bb74f90 to 4cdd670 Compare November 4, 2026 04:14
@ZhanruiSunCh

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --stage-list="GB300-4_GPUs-PyTorch-1,GB300-4_GPUs-PyTorch-Post-Merge-1,GB300-4_GPUs-PyTorch-Post-Merge-2,GB300-4_GPUs-PyTorch-Post-Merge-3"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82397 [ run ] triggered by Bot. Commit: 4cdd670 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82397 [ run ] completed with state SUCCESS. Commit: 4cdd670
/LLM/main/L0_MergeRequest_PR pipeline #68012 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants