[NVBUG-6327718][test] Unwaive test_disaggregated_videomme[nemotron_na… - #17031
[NVBUG-6327718][test] Unwaive test_disaggregated_videomme[nemotron_na…#17031aswinvisva wants to merge 9 commits into
Conversation
|
/bot run --stage-list "DGX_B200-PyTorch-4" |
WalkthroughThe VideoMME E/PD test now runs repetitions 20 through 39 and records periodic thread stacks during execution. B200 and H100 test lists select the repetitions, QA entries use ChangesVideoMME repetition coverage
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
|
PR_Github #62622 [ run ] triggered by Bot. Commit: |
|
PR_Github #62622 [ run ] completed with state |
|
The two lines removed are Two other gaps against the description: nvbugs/6327718 is still P0 Could you attach a passing run of the fp8 variant on B200 and H20 (host + commit + pytest command), the way repair-bot did for nvfp4? For what it's worth the fp8 variant already runs unwaived pre-merge via |
brnguyen2
left a comment
There was a problem hiding this comment.
This looks like a no-op. [tests/integration/test_lists/waives.txt:16](https://github.com/NVIDIA/TensorRT-LLM/pull/17031/files#diff-621bd2af82a3b97c7a5948368d36c14582ffdf73361deb7f42d2ff395b22167eR16) still waives the same node ID unconditionally (accuracy/test_epd_disagg_multimodal.py::TestVideoMMEEPD::test_disaggregated_videomme[nemotron_nano_v3_omni_fp8], nvbugs/6478692), so the test stays skipped on every platform and CI can't confirm the fix. Also, the fp8 param only appears in test-db/l0_h100.yml:164 and qa/llm_function_core.txt:86 — l0_b200.yml lists only the qwen3vl/nvfp4 variants — so the B200 entry was already vestigial. Worth confirming the 6327718 signature matches what you believe is fixed, and updating that bug alongside the removal.
08015b1 to
eefdfc4
Compare
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #65073 [ run ] triggered by Bot. Commit: |
|
PR_Github #65073 [ run ] completed with state
|
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #65111 [ run ] triggered by Bot. Commit: |
|
PR_Github #65111 [ run ] completed with state |
eefdfc4 to
9264ea2
Compare
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
1 similar comment
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
9264ea2 to
6dc8867
Compare
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #65704 [ run ] completed with state |
Prior run (78a01ab, rep360-459) completed 28 videomme reps clean, 0 crashes. Statistically consistent with historical ~3% base rate (P(0 in 28) = 43%). Retry with a fresh rep range to keep sampling. Signed-off-by: Aswin Visva <31215515+aswinvisva@users.noreply.github.com>
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #65959 [ run ] triggered by Bot. Commit: |
Prior runs at 100 reps only yielded ~11 videomme reps per shard due to pytest-split with 9 groups distributing across shards, while only 2 shards (DGX_H100-PyTorch-1 and DGX_B200-PyTorch-4) run per /bot run request. 500 reps in the parametrize means ~55 videomme reps per shard = ~110 total per CI run, giving ~96% probability of catching the crash at the historical ~3% failure rate. Signed-off-by: Aswin Visva <31215515+aswinvisva@users.noreply.github.com>
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #65995 [ run ] triggered by Bot. Commit: |
|
PR_Github #65959 [ run ] completed with state |
|
PR_Github #65995 [ run ] completed with state
|
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
Prior run against commit 1f89f35 (500-rep parametrize) completed 140 videomme reps clean, 0 SIGSEGV/failures. Empty commit forces a fresh CI run so we can re-sample and either confirm crash rate stayed low OR finally reproduce a stack. Signed-off-by: Aswin Visva <31215515+aswinvisva@users.noreply.github.com>
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #66075 [ run ] triggered by Bot. Commit: |
|
PR_Github #66077 [ run ] triggered by Bot. Commit: |
|
PR_Github/17031-0f09e73 #66075 was force-killed by a newer pipeline run. |
|
PR_Github #66077 [ run ] completed with state
|
… capture
Layers existing in-tree debug knobs on top of the current faulthandler
setup so any rep934-style deadlock produces enough evidence to root-cause
without re-running:
- sitecustomize.py bootstrap propagates faulthandler + persistent stderr
into every MPI worker, so silent worker crashes leave a real file
(fixes --capture=fd swallowing).
- TRTLLM_WORKER_PRINT_STACKS_PERIOD=60 dumps all Python threads inside
each MPI worker every 60s.
- TLLM_LLMAPI_ZMQ_DEBUG=1 logs proxy socket send/recv.
- TLLM_TRACE_EXECUTOR_LOOP=1 traces per-step executor progress.
- TORCH_NCCL_DUMP_ON_TIMEOUT / trace-buffer / debug-info-temp-file
dumps NCCL communicator state on collective timeout.
- Best-effort py-spy install for native-stack dumps; failure is silent.
Signed-off-by: Aswin Visva <31215515+aswinvisva@users.noreply.github.com>
|
/bot run --stage-list "DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #66320 [ run ] triggered by Bot. Commit: |
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
TLLM_LLMAPI_ZMQ_DEBUG and TLLM_TRACE_EXECUTOR_LOOP inflate the Jenkins console 10-100x per rep; across ~500 videomme reps that risks truncating the tail where a crash actually lands. The framework's built-in --periodic-hang-traceback already dumps main-thread stacks on hang, so the remaining unique value of this patch is: - worker-side faulthandler (SIGSEGV/SIGABRT stacks in MPI workers) - persistent stderr (survives --capture=fd on worker death) - TORCH_NCCL_DUMP_ON_TIMEOUT (quiet on success) None of those need the trace env vars. Signed-off-by: Aswin Visva <31215515+aswinvisva@users.noreply.github.com>
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #66323 [ run ] triggered by Bot. Commit: |
|
PR_Github #66320 [ run ] completed with state |
|
PR_Github #66327 [ run ] triggered by Bot. Commit: |
|
PR_Github #66323 [ run ] completed with state |
|
PR_Github #66327 [ run ] completed with state |
|
/bot run --stage-list "DGX_H100-PyTorch-1, DGX_B200-PyTorch-4" --disable-fail-fast |
|
PR_Github #66364 [ run ] triggered by Bot. Commit: |
|
PR_Github #66364 [ run ] completed with state
|
…no_v3_omni_fp8] on B200 and H20
The root cause of the pre-fix failure —
TypeError: isinstance() arg 2 must be a type, a tuple of types, or a unionattensorrt_llm/executor/proxy.pywhen the test infrastructure's session-reuse cache monkey-patchesMpiPoolSessionin the proxy module namespace with a factory function — is already fixed on main. The proxy code was refactored to identify pool-backed sessions by excluding(MpiCommSession, RemoteMpiCommSessionClient)instead ofisinstance(x, MpiPoolSession).Remove the two waivers linked to NVBug 6327718 so CI can verify the fix on both platforms.
Dev Engineer Review
nvbug: 6327718waivers for the targeted test on B200 and H20.rep20throughrep39and periodic thread-stack dumps.QA Engineer Review
tests/integration/test_lists/qa/llm_function_core.txt,tests/integration/test_lists/test-db/l0_b200.yml, andtests/integration/test_lists/test-db/l0_h100.yml.test_disaggregated_videommeto accept the repetition parameter.rep20throughrep39coverage in the B200 and H100 test lists.test-db/for CI andqa/for manual QA.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)
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.