[https://nvbugs/6626655][test] Align QA test-list timeout for multimodal Kimi-K2.5 dep8 with pre-merge - #17945
Conversation
… the QA list accuracy/test_llm_api_pytorch_multimodal.py::TestKimiK25::test_nvfp4[dep8] carried no TIMEOUT annotation in the QA list, so it ran under the job-level 3600s default while the pre-merge entry in test-db/l0_dgx_b200.yml already grants it 120 minutes. The case has been trending against that ceiling on B300 (3604s on the last green run, 3616s on the failing one) even though the score stayed healthy at 80.111 versus a 77.683 threshold, so the failure was a wall-clock budget overrun rather than a functional regression. Annotate the QA entry with TIMEOUT (120) so both lists agree on the budget. Signed-off-by: Tianyu Xiong <117647511+tianyuxbear@users.noreply.github.com>
|
/bot --help |
GitHub Bot Help
Provide a user friendly way for developers to interact with a Jenkins server. Run See details below for each supported subcommand. Details
Launch build/test pipelines. All previously running jobs will be killed.
kill
Kill all running builds associated with pull request. skip
Skip testing for latest commit on pull request. reuse-pipeline
Reuse a previous pipeline to validate current commit. This action will also kill all currently running builds associated with the pull request. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. WalkthroughThe test metadata records a 120-second timeout, removes B200 and B300 skip entries, and sets a 7200-second timeout for the Kimi K2.5 NVFP4 accuracy test. ChangesKimi K25 NVFP4 test handling
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized test-list timeout alignment is merge-ready after normal checks and review; no actionable merge-blocking risk remains. Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/bot run --only-qa-verify test accuracy/test_llm_api_pytorch_multimodal.py::TestKimiK25::test_nvfp4[dep8] |
|
PR_Github #67256 [ run ] triggered by Bot. Commit: |
The B200 and B300 waives were added while the wall-clock overrun was under investigation. With the QA test list now granting the same 120-minute budget the pre-merge list already used, the case can run again. Signed-off-by: Tianyu Xiong <117647511+tianyuxbear@users.noreply.github.com>
…imeout The test list annotation only applies to the list that carries it, which is how the QA and pre-merge lists ended up disagreeing on the budget in the first place. Declaring the timeout on the test itself gives it the same 120 minutes wherever it is collected from. Signed-off-by: Tianyu Xiong <117647511+tianyuxbear@users.noreply.github.com>
|
/bot run --only-qa-verify test accuracy/test_llm_api_pytorch_multimodal.py::TestKimiK25::test_nvfp4[dep8] |
|
PR_Github #67256 [ run ] completed with state |
|
PR_Github #67289 [ run ] triggered by Bot. Commit: |
|
PR_Github #67289 [ run ] completed with state |
|
/bot run --only-qa-verify test accuracy/test_llm_api_pytorch_multimodal.py::TestKimiK25::test_nvfp4[dep8] |
|
PR_Github #67319 [ run ] triggered by Bot. Commit: |
|
PR_Github #67319 [ run ] completed with state |
Description
accuracy/test_llm_api_pytorch_multimodal.py::TestKimiK25::test_nvfp4[dep8]carried noTIMEOUTannotation intests/integration/test_lists/qa/llm_function_core.txt, so it ran under the QA job-level 3600s default. The pre-merge entry for the very same test intests/integration/test_lists/test-db/l0_dgx_b200.ymlalready grants itTIMEOUT (120)— a 2x mismatch between the two lists.The case has been trending against that 60-minute ceiling on B300: the last green run took 3603.8s and the failing one 3615.6s, a ~12s margin. Accuracy is healthy throughout (80.111 versus a 77.683 threshold on the last green run), and the reported
queue.get/not_empty.waitframes are just the main thread awaiting results when pytest-timeout fired, not a deadlock. So this is a wall-clock budget overrun, not a functional regression.The test body itself is unchanged across the reported regression window, so no code fix applies here. This patch makes the two test lists agree on the budget, and drops the B200/B300 waives that were added in #17883 while the overrun was under investigation, so the case actually runs again.
Note that trimming the generation budget is not a viable alternative:
MAX_NUM_TOKENS = 16384in this class feedsSamplingParams(max_tokens=...)and is deliberately preserved viapreserve_caller_max_tokens=Trueso the thinking-mode CoT output is not truncated by lm-eval's 512 default.Test Coverage
No new tests. This is a test-list change only:
TIMEOUT (120)is parsed bytest_list_parser.pyintopytest.mark.timeout(7200), matching the pre-merge budget.waives.txtentries for this case are removed, so it is executed again on the B200 and B300 full stages.Dev Engineer Review
TIMEOUT (120)toTestKimiK25::test_nvfp4[dep8]intests/integration/test_lists/qa/llm_function_core.txt.QA Engineer Review
TestKimiK25::test_nvfp4[dep8]in the QA test list.tests/integration/test_lists/waives.txtby removing the B200 and B300 entries.