Repository navigation
[https://nvbugs/6826000][test] Remove the AgentX cases from the perf-sanity test lists - #20985
Conversation
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Update test inventory and timing records tests/integration/test_lists/test-db/*, tests/integration/defs/.test_durations |
Several GB300 test entries and multi-node configurations are removed. Timing records are added for selected GB300 runs, while other records are removed. |
Adjust Jenkins PerfSanity stages jenkins/L0_Test.groovy, jenkins/L0_MergeRequest.groovy |
Shard counts are reduced for selected B200 and GB300 stages. Several GB300 multi-node stages are removed, and one removed test-list path no longer triggers the multi-GPU file-match check. |
Priority:
Estimated code review effort: 2 (Simple) | ~12 minutes
Change: Other
Suggested reviewers: tburt-nv, brnguyen2, juney-nvidia
Merge Risk: 
Minimal · up to 4b918
-
No unresolved merge-blocking risk was identified in the PerfSanity updates.
Pre-merge checks: 
5
-
Full details: Title check
-
Explanation
The title follows the required template: NVBugs ID, a [test] type, and a summary. It names the main change, which removes the AgentX cases from the perf-sanity test lists. It matches the changeset, which removes 20 AgentX test-db entries and related stages.
Full details: Docstring Coverage
-
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
Full details: Description check
-
Explanation
The pull request includes complete Description and Test Coverage sections. It explains the problem, the implementation, retained functionality, side effects, validation steps, and reported test results. It also includes the PR Checklist with the review confirmation checked. The pull request title cannot be assessed because it was not provided in the available context.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
…sanity test lists An AgentX lane's throughput depends on how its prefill and decode workers are rate-matched, and that ratio is retuned as the AgentX workload is optimized. A fixed AgentX lane therefore reports false regressions and spurious instability rather than real ones. Stop running the AgentX cases in CI perf-sanity: drop every AgentX e2e, ctx_only, gen_only_no_context and aggregated entry from the test-db lists. Delete the five test-db files that held only AgentX cases together with their post-merge stages, shrink the two gen_only_no_context stages to their remaining cases, and drop the stale durations entries. The AgentX configs stay, so the lanes can still be run by hand. Signed-off-by: chenfeiz0326 <203214996+chenfeiz0326@users.noreply.github.com>
58b3a8b to
09a16d2
Compare
|
Automatically added "ci: full pre-merge approved" because this PR has satisfied the required GitHub review approvals. Unresolved review conversations and other required checks remain independent merge requirements. |
yiqingy0
left a comment
There was a problem hiding this comment.
With the 4 AgentX cases removed, could we decrease the number of splits for GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge?
…rf-sanity stage Without the AgentX cases, GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge runs 17 cases over 7 splits. Use 4 splits, the fewest for which every duration-balanced split holds at most 6 cases: 2/5/5/5 cases and at most 1.8 h of recorded durations per split. DGX_B200-8_GPUs-PyTorch-PerfSanity-Post-Merge runs its 6 cases in one split instead of 3 (1.1 h). The other single-node perf-sanity stages already run in one split with at most 6 cases. Signed-off-by: chenfeiz0326 <203214996+chenfeiz0326@users.noreply.github.com>
|
@yiqingy0 Done in 4b91866: |
|
/bot skip --comment "Only remove old perf tests, no need to run the whole CI pipeline" |
|
PR_Github #80567 [ skip ] triggered by Bot. Commit: |
|
PR_Github #80567 [ skip ] completed with state |
Dev Engineer Review
The change removes 20 AgentX cases from GB300 post-merge performance-sanity lists and removes their duration records. It also deletes AgentX-only test-db files and associated pipeline stages. AgentX configs, client, hooks, local-run instructions, and two QA performance copies remain available.
The change adjusts multi-node split counts to match the remaining cases. The GB300 single-node stage retains 17 cases. The author reports that the change removes 16 stages from each post-merge pipeline.
The change narrows
getMultiGpuFileChangedby removing one test-list path from its matching logic. Verify that edits to that list no longer need to trigger multi-GPU-related handling.QA Engineer Review
The changes affect test lists and test-duration data. They remove AgentX test entries and some whole test-db files, adjust stage splits, and remove a deleted test reference from
L0_MergeRequest.groovy. The change does not modify test functions or test implementations.The author reports that a consistency script found no remaining AgentX entries in perf-sanity test-db files and verified multi-node split counts. The author also reports that test-list validation and duplicate-waiver checks pass. Reported unit-test results are 252 passed for
test_disagg_e2e_configs.py, 97 passed fortest_perf_submit.py, and 13 passed fortest_perf_agentx_client.py.test_cache_transceiver_precheck_run.pyreportedly had the same 95 passes as on main; the remaining cases require a full build. No GPU runs were performed.Coverage verdict: needs follow-up. The author reports passing list checks and unit tests, but no GPU runs were performed to validate the remaining post-merge performance-sanity coverage.
Per-File QA Perspective
jenkins/L0_MergeRequest.groovy: Removes a deleted test-list reference from multi-GPU change detection. Verify that the remaining path rules still trigger the expected handling.jenkins/L0_Test.groovy: Updates post-merge shard counts and removes AgentX and other listed stages. Verify the resulting stage membership and split configuration.tests/integration/defs/.test_durations: Removes 20 AgentX duration records. Check that each removed record corresponds to a removed test entry.tests/integration/test_lists/test-db/l0_gb300_multi_gpus_perf_sanity.yml: Removes GB300 performance-sanity entries, including AgentX cases. Check that the remaining list still matches the intended CI coverage.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx2_node1_gpu2_gen1_node4_gpu16.yml: Deletes an AgentX-only test list. Confirm that the associated stage no longer references it.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx2_node2_gpu8_gen1_node2_gpu8.yml: Deletes an AgentX-only test list. Confirm that the associated stage no longer references it.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_ctx3_node2_gpu8_gen1_node4_gpu16.yml: Deletes an AgentX-only test list. Confirm that the associated stage no longer references it.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_gen1_node2_gpu8.yml: Removes AgentX entries. Check that remaining cases and stage splits are consistent.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_gen1_node4_gpu16.yml: Removes AgentX entries while retaining a non-AgentX DeepSeek case. Verify the remaining case is still included in CI.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_node2_gpu8.yml: Deletes an AgentX-only test list. Confirm that the associated stage no longer references it.tests/integration/test_lists/test-db/l0_gb300_multi_nodes_perf_sanity_node4_gpu16.yml: Deletes an AgentX-only test list. Confirm that the associated stage no longer references it.Description
AgentX lanes are not a good fit for perf-sanity. An AgentX lane's throughput depends on how its prefill and
decode workers are rate-matched, and that ratio is retuned as the AgentX workload is optimized. A fixed AgentX
lane therefore reports false regressions and spurious instability rather than real ones. NVBug 6826000 is an
example: the DeepSeek-V4-Pro e2e lanes swing with a 5-8 % CV on main, and about 40 % of their post-merge runs
were flagged.
This PR stops running the AgentX cases in CI perf-sanity by removing them from the test lists. The AgentX
configs in
tests/scripts/perf-sanity/stay, so each lane can still be run by hand(
jenkins/scripts/perf/local/README.md).tests/scripts/perf-sanity/)aggregated/gb300_minimax_m3_fp4_agentx_grace_blackwell.yamldisaggregated/gb300_deepseek-v41-flash-fp4-dspark_agentx_con1579_*disaggregated/gb300_deepseek-v4-pro-dspark_agentx_con{1156,1456}_*disaggregated/gb300_kimi-k3-fp4-dspark_agentx_con{138,220,63,88}_*GB300-8_GPUs-2_Nodes-PyTorch-PerfSanity-Node2-GPU8-Post-Merge,GB300-16_GPUs-4_Nodes-PyTorch-PerfSanity-Node4-GPU16-Post-Mergeand the threeGB300-*-Disagg-PerfSanity-AgentX-*-Post-Mergestages.L0_MergeRequest.groovydrops its reference tol0_gb300_multi_nodes_perf_sanity_node2_gpu8.yml.GB300-8_GPUs-2_Nodes-PyTorch-PerfSanity-GEN1-NODE2-GPU8-Post-Mergegoes from 6 splits to 4, andGB300-16_GPUs-4_Nodes-PyTorch-PerfSanity-GEN1-NODE4-GPU16-Post-Mergefrom 6 to 1.GB300-4_GPUs-PyTorch-PerfSanity-Post-Mergegoes from 7 splits to 4 (2/5/5/5 cases, at most 1.8 h of recorded durations per split), and
DGX_B200-8_GPUs-PyTorch-PerfSanity-Post-Mergefrom 3 to 1 (6 cases, 1.1 h). The other single-nodeperf-sanity stages already run one split with at most 6 cases.
tests/integration/defs/.test_durationsare removed.agentx_client.pyand its hooks intest_perf_sanity.py) and thelocal-run instructions.
ctx_only,gen_onlyandgen_only_no_contextmodes, which all have non-AgentX cases.tests/scripts/perf/disaggregated/, with theirQA-list entries.
num_serve_frontendsandctx_router_configare now exercised only by the QA copies.pool_ratiofix for the two V4-Pro lanes.Test Coverage
No GPU runs: the change only removes test-list entries and adjusts split counts.
perf/test_perf_sanity.pyid left in the perf-sanity test-db files resolves toan existing config and server config, none of them an AgentX config. Every multi-node perf-sanity stage's
split count equals its case count. On the pre-change tree the same script flags the 20 AgentX entries, and it
flags the new split counts when paired with the old test lists.
packing in
jenkins/scripts/perf/submit.pyandtests/integration/defs/.test_durationsgives the per-splitcounts above. No split holds more than 6 cases, and the longest split stays well under the ~4 h partition
walltime.
scripts/check_test_list.py --validate(2022 entries) and--check-duplicate-waivespass.
tests/unittest/others/test_disagg_e2e_configs.py: 252 passed.tests/unittest/scripts/test_perf_submit.py: 97 passed.tests/unittest/scripts/test_perf_agentx_client.py: 13 passed.tests/unittest/others/test_cache_transceiver_precheck_run.py: the same 95 passes as on main. Itsremaining cases need a full build.
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)
If PR introduces API changes, an appropriate PR label is added - either
api-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin the PR title.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.🤖 Generated with Claude Code