[TRTLLM-12183][chore] Move bf16/auto precision variants from pre-merge to post-merge - #13366
Merged
Conversation
Signed-off-by: junq <22017000+QiJune@users.noreply.github.com>
Contributor
📝 WalkthroughWalkthroughTest configuration YAML files are reorganized to shift GPU-specific test cases between pre-merge and post-merge phases. Tests for models like Llama 3.1, GPT-OSS, and Qwen are repositioned across H100, H200, GB200, and B200 hardware configurations to adjust test scheduling and distribution across execution phases. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Collaborator
Author
|
/bot skip --comment "trivial changes" |
Collaborator
|
PR_Github #45139 [ skip ] triggered by Bot. Commit: |
Collaborator
|
PR_Github #45139 [ skip ] completed with state |
QiJune
enabled auto-merge (squash)
April 23, 2026 07:04
sunnyqgg
approved these changes
Apr 23, 2026
ziyixiong-nv
pushed a commit
to ziyixiong-nv/TensorRT-LLM
that referenced
this pull request
Apr 24, 2026
…e to post-merge (NVIDIA#13366) Signed-off-by: junq <22017000+QiJune@users.noreply.github.com>
zheyuf
added a commit
to zheyuf/TensorRT-LLM
that referenced
this pull request
Apr 28, 2026
…1 PR #1) Moves 95 pre-merge + post-merge pytorch 4-GPU tests from l0_dgx_b200.yml to l0_gb200_multi_gpus.yml, and reshards the affected GB200 stages to keep wall-clock under the 4h cluster ceiling. Test moves (test-list YAML edits only): * pre-merge pytorch: 25 tests appended to l0_gb200_multi_gpus.yml * post-merge pytorch: 70 tests appended to l0_gb200_multi_gpus.yml 13 tests intentionally kept on BOTH B200 and GB200 (conservative cross-platform coverage; pre-existing duplication, ~90 GPU-hrs/wk): * 4 pre-merge: TestDeepSeekV3Lite::test_bfloat16_4gpus_python_scheduler[*] * 9 post-merge: TestLlama3_1_8BInstruct::test_bfloat16_4gpus[tp4-FLASHINFER-False], TestLlama3_1_8BInstruct::test_fp8_4gpus[pp4-...-TRTLLM-False], 7 × TestDeepSeekV3Lite::test_nvfp4_4gpus[CUTLASS|TRTLLM-mtp_nextn=*-...] These tests were originally added to both YAMLs (commits NVIDIA#11884, NVIDIA#7073/NVIDIA#7074, NVIDIA#11844, NVIDIA#13366) and have no platform-specific decorators. We could dedup, but keeping the duplication is safer if there's any latent host-CPU or NVLink topology-specific behavior. Sharding adjustments (jenkins/L0_Test.groovy): * GB200-4_GPUs-PyTorch-{1,2} 2-shard → 4-shard split (add -3, -4) * GB200-4_GPUs-PyTorch-Post-Merge-1 1-shard → 3-shard split (add -2, -3) Mirrors DGX_B200-4_GPUs-PyTorch-{1,2,3} + DGX_B200-4_GPUs-PyTorch-Post-Merge-{1,2}. Without resharding, projected wall-clocks hit ~4.75h pre-merge / ~7h post-merge, both over the 4h cluster ceiling. After resharding, projected wall-clock per shard: ~2.9h pre-merge / ~3.0h post-merge — within budget with margin. Going-forward capacity reclaimed on B200: ~2,030 GPU-hrs/wk (from the 95 moves; the 13 kept-duplicate tests continue running on B200). Out of scope for this PR (Wave 1 PR NVIDIA#2 will handle): * 1-GPU tests (156 tests) - needs new GB200-PyTorch-{1,Post-Merge-1,AutoDeploy-1} stages * 4-GPU autodeploy tests (11) - needs new GB200-4_GPUs-AutoDeploy-1 stage * Perf (41), legacy TRT/Triton (14), 8-GPU, Ray, fabric-dep, aarch64-LOW Verified with scripts/test_to_stage_mapping.py that moved samples route to GB200-4_GPUs-PyTorch-{1,2,3,4} (pre-merge) and GB200-4_GPUs-PyTorch-Post-Merge-{1,2,3} (post-merge), not DGX_B200-PyTorch-*. Verified l0_gb200_multi_gpus.yml has zero duplicate test entries (trt-test-db rejects same-test-same-conditions duplicates). Ground-truth verification recipe (per Tyler's guidance): compare tests run in L0_PostMerge/<latest_job> vs L0_MergeRequest/<this_pr_job> via OpenSearch. Every B200-removed test should appear in GB200 stages; the 13 intentionally kept tests will appear on both. Signed-off-by: Zheyu Fu <zheyuf@NVIDIA.com>
zheyuf
added a commit
to zheyuf/TensorRT-LLM
that referenced
this pull request
Apr 28, 2026
…1 PR #1) Moves 95 pre-merge + post-merge pytorch 4-GPU tests from l0_dgx_b200.yml to l0_gb200_multi_gpus.yml, and reshards the affected GB200 stages to keep wall-clock under the 4h cluster ceiling. Test moves (test-list YAML edits only): * pre-merge pytorch: 25 tests appended to l0_gb200_multi_gpus.yml * post-merge pytorch: 70 tests appended to l0_gb200_multi_gpus.yml 13 tests intentionally kept on BOTH B200 and GB200 (conservative cross-platform coverage; pre-existing duplication, ~90 GPU-hrs/wk): * 4 pre-merge: TestDeepSeekV3Lite::test_bfloat16_4gpus_python_scheduler[*] * 9 post-merge: TestLlama3_1_8BInstruct::test_bfloat16_4gpus[tp4-FLASHINFER-False], TestLlama3_1_8BInstruct::test_fp8_4gpus[pp4-...-TRTLLM-False], 7 × TestDeepSeekV3Lite::test_nvfp4_4gpus[CUTLASS|TRTLLM-mtp_nextn=*-...] These tests were originally added to both YAMLs (commits NVIDIA#11884, NVIDIA#7073/NVIDIA#7074, NVIDIA#11844, NVIDIA#13366) and have no platform-specific decorators. We could dedup, but keeping the duplication is safer if there's any latent host-CPU or NVLink topology-specific behavior. Sharding adjustments (jenkins/L0_Test.groovy): * GB200-4_GPUs-PyTorch-{1,2} 2-shard → 4-shard split (add -3, -4) * GB200-4_GPUs-PyTorch-Post-Merge-1 1-shard → 3-shard split (add -2, -3) Mirrors DGX_B200-4_GPUs-PyTorch-{1,2,3} + DGX_B200-4_GPUs-PyTorch-Post-Merge-{1,2}. Without resharding, projected wall-clocks hit ~4.75h pre-merge / ~7h post-merge, both over the 4h cluster ceiling. After resharding, projected wall-clock per shard: ~2.9h pre-merge / ~3.0h post-merge — within budget with margin. Going-forward capacity reclaimed on B200: ~2,030 GPU-hrs/wk (from the 95 moves; the 13 kept-duplicate tests continue running on B200). Out of scope for this PR (Wave 1 PR NVIDIA#2 will handle): * 1-GPU tests (156 tests) - needs new GB200-PyTorch-{1,Post-Merge-1,AutoDeploy-1} stages * 4-GPU autodeploy tests (11) - needs new GB200-4_GPUs-AutoDeploy-1 stage * Perf (41), legacy TRT/Triton (14), 8-GPU, Ray, fabric-dep, aarch64-LOW Verified with scripts/test_to_stage_mapping.py that moved samples route to GB200-4_GPUs-PyTorch-{1,2,3,4} (pre-merge) and GB200-4_GPUs-PyTorch-Post-Merge-{1,2,3} (post-merge), not DGX_B200-PyTorch-*. Verified l0_gb200_multi_gpus.yml has zero duplicate test entries (trt-test-db rejects same-test-same-conditions duplicates). Ground-truth verification recipe (per Tyler's guidance): compare tests run in L0_PostMerge/<latest_job> vs L0_MergeRequest/<this_pr_job> via OpenSearch. Every B200-removed test should appear in GB200 stages; the 13 intentionally kept tests will appear on both. Signed-off-by: Zheyu Fu <zheyuf@NVIDIA.com>
1 task
zheyuf
added a commit
to zheyuf/TensorRT-LLM
that referenced
this pull request
Apr 30, 2026
…1 PR #1) Moves 95 pre-merge + post-merge pytorch 4-GPU tests from l0_dgx_b200.yml to l0_gb200_multi_gpus.yml, and reshards the affected GB200 stages to keep wall-clock under the 4h cluster ceiling. Test moves (test-list YAML edits only): * pre-merge pytorch: 25 tests appended to l0_gb200_multi_gpus.yml * post-merge pytorch: 70 tests appended to l0_gb200_multi_gpus.yml 13 tests intentionally kept on BOTH B200 and GB200 (conservative cross-platform coverage; pre-existing duplication, ~90 GPU-hrs/wk): * 4 pre-merge: TestDeepSeekV3Lite::test_bfloat16_4gpus_python_scheduler[*] * 9 post-merge: TestLlama3_1_8BInstruct::test_bfloat16_4gpus[tp4-FLASHINFER-False], TestLlama3_1_8BInstruct::test_fp8_4gpus[pp4-...-TRTLLM-False], 7 × TestDeepSeekV3Lite::test_nvfp4_4gpus[CUTLASS|TRTLLM-mtp_nextn=*-...] These tests were originally added to both YAMLs (commits NVIDIA#11884, NVIDIA#7073/NVIDIA#7074, NVIDIA#11844, NVIDIA#13366) and have no platform-specific decorators. We could dedup, but keeping the duplication is safer if there's any latent host-CPU or NVLink topology-specific behavior. Sharding adjustments (jenkins/L0_Test.groovy): * GB200-4_GPUs-PyTorch-{1,2} 2-shard → 4-shard split (add -3, -4) * GB200-4_GPUs-PyTorch-Post-Merge-1 1-shard → 3-shard split (add -2, -3) Mirrors DGX_B200-4_GPUs-PyTorch-{1,2,3} + DGX_B200-4_GPUs-PyTorch-Post-Merge-{1,2}. Without resharding, projected wall-clocks hit ~4.75h pre-merge / ~7h post-merge, both over the 4h cluster ceiling. After resharding, projected wall-clock per shard: ~2.9h pre-merge / ~3.0h post-merge — within budget with margin. Going-forward capacity reclaimed on B200: ~2,030 GPU-hrs/wk (from the 95 moves; the 13 kept-duplicate tests continue running on B200). Out of scope for this PR (Wave 1 PR NVIDIA#2 will handle): * 1-GPU tests (156 tests) - needs new GB200-PyTorch-{1,Post-Merge-1,AutoDeploy-1} stages * 4-GPU autodeploy tests (11) - needs new GB200-4_GPUs-AutoDeploy-1 stage * Perf (41), legacy TRT/Triton (14), 8-GPU, Ray, fabric-dep, aarch64-LOW Verified with scripts/test_to_stage_mapping.py that moved samples route to GB200-4_GPUs-PyTorch-{1,2,3,4} (pre-merge) and GB200-4_GPUs-PyTorch-Post-Merge-{1,2,3} (post-merge), not DGX_B200-PyTorch-*. Verified l0_gb200_multi_gpus.yml has zero duplicate test entries (trt-test-db rejects same-test-same-conditions duplicates). Ground-truth verification recipe (per Tyler's guidance): compare tests run in L0_PostMerge/<latest_job> vs L0_MergeRequest/<this_pr_job> via OpenSearch. Every B200-removed test should appear in GB200 stages; the 13 intentionally kept tests will appear on both. Signed-off-by: Zheyu Fu <zheyuf@NVIDIA.com>
1 task
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.
Motivation
For test groups covering the same model / config across multiple precisions, the low-precision variants (fp8, nvfp4, w4, etc.) carry most of the pre-merge signal — accuracy and perf regressions tend to surface there first. The higher-precision variants (bfloat16, auto) are more stable and mainly serve as a secondary safety net, which fits post-merge coverage well.
This PR applies that principle across four test-db files: keep the low-precision variants in pre-merge; move the corresponding bf16/auto variants to post-merge.
Pre-merge impact
Measured on the last 7 days of L0_MergeRequest[_PR] runs (PASSED only): ~3,100 GPU-seconds (~52 min) of test work removed per pre-merge run.
Risk Evaluation
Pass rates on pre-merge over the last 7 days — and the failures when present turn out to be infra noise, not real product regressions:
1
Test: test_bfloat16[TRTLLM-compile=True]
Total: 296
Pass: 296
Fail: 0
Skip: 0
Pass rate (exec'd): 100%
Notes: —
────────────────────────────────────────
2
Test: test_bfloat16_4gpus[tp4-FLASHINFER-compile=False]
Total: 125
Pass: 125
Fail: 0
Skip: 0
Pass rate (exec'd): 100%
Notes: —
────────────────────────────────────────
3
Test: test_bfloat16_4gpus[tp4-TRTLLM-compile=True]
Total: 99
Pass: 99
Fail: 0
Skip: 0
Pass rate (exec'd): 100%
Notes: —
────────────────────────────────────────
4
Test: test_w4a16[dp4-auto]
Total: 234
Pass: 131
Fail: 0
Skip: 103
Pass rate (exec'd): 100%
Notes: 103 skipped (conditional)
────────────────────────────────────────
5
Test: test_w4_1gpu[v1_kv_cache-trtllm-auto]
Total: 298
Pass: 296
Fail: 2
Skip: 0
Pass rate (exec'd): 99.3%
Notes: —
────────────────────────────────────────
6
Test: test_w4_1gpu[v2_kv_cache-trtllm-auto]
Total: 297
Pass: 295
Fail: 2
Skip: 0
Pass rate (exec'd): 99.3%
Notes: —
────────────────────────────────────────
7
Test: test_bfloat16_4gpus[tp2pp2-TRTLLM-compile=True]
Total: 128
Pass: 127
Fail: 1
Skip: 0
Pass rate (exec'd): 99.2%
Notes: —
────────────────────────────────────────
8
Test: test_bfloat16_4gpus[tp2pp2-TRTLLM-compile=False]
Total: 126
Pass: 125
Fail: 1
Skip: 0
Pass rate (exec'd): 99.2%
Notes: —
────────────────────────────────────────
9
Test: TestQwen3_5_35B_A3B::test_bf16
Total: 292
Pass: 289
Fail: 3
Skip: 0
Pass rate (exec'd): 99.0%
Notes: —
────────────────────────────────────────
10
Test: test_bfloat16[TRTLLM-compile=False]
Total: 643
Pass: 618
Fail: 25
Skip: 0
Pass rate (exec'd): 96.1%
Notes: All 25 failures = Ray ImportError: PlacementGroupSch... —
Ray-library infra issue, not product signal
────────────────────────────────────────
11
Test: test_w4_4gpus[v1_kv_cache-dp4-trtllm-auto]
Total: 113
Pass: 106
Fail: 7
Skip: 0
Pass rate (exec'd): 93.8%
Notes: All 7 failures = "Test terminated unexpectedly" on GB200 —
node instability, not product signal
────────────────────────────────────────
12
Test: test_w4_4gpus[v2_kv_cache-dp4-trtllm-auto]
Total: 121
Pass: 110
Fail: 11
Skip: 0
Pass rate (exec'd): 90.9%
Notes: All 11 failures = "Test terminated unexpectedly" on GB200 —
same GB200 infra pattern
────────────────────────────────────────
13
Test: test_bfloat16_4gpus[tp4-TRTLLM-compile=False]
Total: 125
Pass: 0
Fail: 0
Skip: 125
Pass rate (exec'd): n/a
Notes: Already 100% skipped in pre-merge (dead entry, safe to
relocate)
────────────────────────────────────────
14
Test: test_bfloat16_4gpus[pp4-TRTLLM-compile=False]
Total: 108
Pass: 0
Fail: 0
Skip: 108
Pass rate (exec'd): n/a
Notes: Already 100% skipped in pre-merge (dead entry, safe to
relocate)
Conclusion
All 14 tests are safe to move to post-merge. Two cuts strongly support this:
Summary by CodeRabbit
Description
Test Coverage
PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.