Repository navigation
[https://nvbugs/6812588][fix] Bound Qwen3.5 batch/seq len in multi-node disagg tests - #20019
Merged
reasonsolo merged 2 commits intoOct 9, 2026
Merged
Conversation
reasonsolo
requested review from
Shixiaowei02,
Tabrizian,
asfiyab-nvidia and
tongyuantongyu
October 9, 2026 03:31
Contributor
JunyiXu-nv
approved these changes
Oct 9, 2026
|
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. |
…de disagg tests The multi-node disaggregated serving tests run Qwen3.5-4B with the default max_batch_size (2048) and max_seq_len (262144). The hybrid model's V2 cache manager reserves recurrent state for every resident sequence up front (~54 GB per GPU), which does not fit on 80 GB H100s with free_gpu_memory_fraction=0.8, so the ctx/gen servers fail to start. Cap max_batch_size to 128 and max_seq_len to 8192, which the tests' 10-token completions never approach. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lizhi Zhou <1432185+reasonsolo@users.noreply.github.com>
…ion tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lizhi Zhou <1432185+reasonsolo@users.noreply.github.com>
reasonsolo
force-pushed
the
user/lizhiz/nvbug-6812588-qwen35-mem
branch
from
October 9, 2026 04:55
78f58bb to
641fd2f
Compare
Collaborator
Author
|
/bot run --disable-fail-fast |
Collaborator
|
PR_Github #76888 [ run ] triggered by Bot. Commit: |
reasonsolo
enabled auto-merge (squash)
October 9, 2026 05:10
Collaborator
|
PR_Github #76888 [ run ] completed with state |
reasonsolo
added a commit
that referenced
this pull request
Oct 9, 2026
…d Qwen3.5 batch/seq len in multi-node disagg tests (#20023) Signed-off-by: Lizhi Zhou <1432185+reasonsolo@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 12, 2026
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.
Description
test_e2e.py::test_openai_disagg_multi_nodes_completion*still fail on H100 after the UCX/NIXL fix (#19544). Since #18654, these tests run Qwen3.5-4B with the defaultmax_batch_size(2048) andmax_seq_len(262144). For this hybrid model, the V2 cache manager reserves recurrent state up front for every resident sequence (max_batch_size * pp_size), which is about 54 GB per GPU. Withfree_gpu_memory_fraction=0.8that doesn't fit on an 80 GB H100, so the ctx/gen servers exit during startup:ValueError: The V2 Mamba GPU cache quota is too small for live recurrent states and attention pages: got 51936015974 bytes, need at least 53969223680 bytes.RuntimeError: Executor creation failed due to insufficient GPU memory.This PR caps
max_batch_size=128andmax_seq_len=8192in both multi-node test workers (the tests only send 10-token completions). It also removes the two H100 waivers for this bug. The GB300 waivers stay untouched.Test Coverage
Built release/1.3 (2bafd95) and ran the test's
trtllm-serveconfig on H100 PCIe 80 GB:V2 Mamba GPU cache quota is too small)With the change, the fixed reservation drops from 53.97 GB to 3.4 GB.
Bug: https://nvbugspro.nvidia.com/bug/6812588
🤖 Generated with Claude Code
Dev Engineer Review
Both multi-node worker fixtures now set
max_batch_sizeto 128 andmax_seq_lento 8192. This reduces the Qwen3.5 recurrent-state reservation for the 80 GB GPU test configuration. Thewaives.txtchange removes the H100 waivers for the two completion cases. The GB300 waivers remain unchanged. No test execution results are available here.QA Engineer Review
The change modifies two test-code files and
tests/integration/test_lists/waives.txt. It does not add or modify test functions or IDs. Both completion cases remain in the manual-QA list; membership in the CItest-db/lists is not established. Removing the H100 waivers re-enables those cases. Coverage verdict: needs follow-up, because no current run results confirm the tests pass without the waivers.Per-File QA Perspective
tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py: Covers multi-node disaggregated completion. The worker configuration now limits batch size and sequence length; the test is listed for manual QA. CI-list membership is not established.tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes_service_discovery.py: Covers completion through multi-node service discovery. The worker configuration now limits batch size and sequence length; the test is listed for manual QA. CI-list membership is not established.tests/integration/test_lists/waives.txt: Removes the H100 waiver entries for the service-discovery completion case and thectx_tp1pp2-gen_tp1pp2completion case. The GB300 waiver entries remain.