Repository navigation
[https://nvbugs/6278337][fix] Unwaive DeepSeekV3Lite bf16 PP4 tests - #20020
Conversation
The PP4 deadlock behind these waives is fixed by the MPI progress pump on the sample-state relay thread (NVIDIA#19643). Remove the three waive entries so the tests run again. Signed-off-by: Yihui Lu <269394165+YihuiLu512@users.noreply.github.com>
|
/bot run --disable-fail-fast --extra-stage "DGX_H200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-1, DGX_B200-4_GPUs-PyTorch-2, DGX_B200-4_GPUs-PyTorch-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-Post-Merge-2, DGX_B200-4_GPUs-PyTorch-Post-Merge-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-4" |
|
/bot run --disable-fail-fast --extra-stage "DGX_H200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-1, DGX_B200-4_GPUs-PyTorch-2, DGX_B200-4_GPUs-PyTorch-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-Post-Merge-2, DGX_B200-4_GPUs-PyTorch-Post-Merge-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-4" |
|
PR_Github #76887 [ run ] triggered by Bot. Commit: |
|
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. |
|
PR_Github #76887 [ run ] completed with state
|
|
/bot run --disable-fail-fast --extra-stage "DGX_H200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-1, DGX_B200-4_GPUs-PyTorch-2, DGX_B200-4_GPUs-PyTorch-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-Post-Merge-2, DGX_B200-4_GPUs-PyTorch-Post-Merge-3, DGX_B200-4_GPUs-PyTorch-Post-Merge-4" |
|
PR_Github #76936 [ run ] triggered by Bot. Commit: |
|
PR_Github #76936 [ run ] completed with state |
|
/bot run --disable-fail-fast --disable-reuse-test --stage-list "DGX_H200-4_GPUs-PyTorch-Post-Merge-1, DGX_B200-4_GPUs-PyTorch-1, DGX_B200-4_GPUs-PyTorch-Post-Merge-1" |
|
PR_Github #76958 [ run ] triggered by Bot. Commit: |
|
PR_Github #76958 [ run ] completed with state |
|
/bot run --disable-fail-fast --disable-reuse-test --stage-list "DGX_H200-4_GPUs-PyTorch-Post-Merge-1" |
|
PR_Github #77001 [ run ] triggered by Bot. Commit: |
|
PR_Github #77001 [ run ] completed with state |
|
/bot run --disable-fail-fast |
|
PR_Github #77027 [ run ] triggered by Bot. Commit: |
|
PR_Github #77027 [ run ] completed with state |
Dev Engineer Review
The change removes three
pp4,mtp_nextn=0waiver entries fromtests/integration/test_lists/waives.txt. The PR objectives attribute the deadlock to stalled MPI progress and report that the progress pump resolves it. No source code or other configuration changes are reported. Current review finding counts are unavailable.QA Engineer Review
The waiver removal makes the three
pp4cases eligible to run instead of being skipped. The cases remain listed in the GB300 CI test list and the core manual-QA list. The PR objectives report 30/30 passes with the progress pump under UCX TCP conditions and 9/9 with the default network; these are reported validation results, not independently verified here. Coverage verdict: needs follow-up, because the change removes waivers based on validation reported for a specific revision and hardware setup.Per-File QA Perspective
tests/integration/test_lists/waives.txt: Removed three waiver entries forTestDeepSeekV3Lite::test_bfloat16_4gpuswithpp4andmtp_nextn=0. Confirm that the formerly skipped cases run and pass in the target CI and manual-QA environments.Description
The three
TestDeepSeekV3Lite::test_bfloat16_4gpus[pp4-mtp_nextn=0-attention_dp=False-...-overlap_scheduler=False-...]cases were waived for a PP4 deadlock. A rank's executor thread blocks on its own GPU (sampler event sync) while no thread on that rank drives MPI progress. The next rank then cannot finish receiving the pickle5 schedule message, so the ring stalls until HangDetector fires.#19643 added an MPI progress pump on the sample-state relay thread (
TLLM_PP_MPI_PROGRESS_POLL_MS, default 5 ms). That keeps the rendezvous moving and breaks the loop. This PR removes the three waive entries.Test Coverage
The three unwaived tests:
cuda_graph=True, torch_compile=Truecuda_graph=True, torch_compile=Falsecuda_graph=False, torch_compile=FalseValidated on main
b27b1e9c90(includes #19643), 4x GB300, with the UCX TCP conditions of the platform where the hang was reported (the schedule message takes the rendezvous path):TLLM_PP_MPI_PROGRESS_POLL_MSdiffers),cuda_graph=True, torch_compile=True: pump on 0/24 hangs vs pump off 14/24 hangs. Fisher two-sided p = 8e-6.pkl5_recv_raw.KvCache::close()instead. The rank 3 side is identical.The commits on main since
b27b1e9c90that touchpy_executor.pyorsampler.py(#19896, #19484, #19791) do not change the PP relay, progress pump, or HangDetector paths.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