Validate archived MI355X MiniMax M3 vLLM disaggregation with srt-slurm - #2824
Validate archived MI355X MiniMax M3 vLLM disaggregation with srt-slurm#2824cquil11 wants to merge 5 commits into
Conversation
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
|
Runtime startup now passes with the clean MoRI port-allocation fix: both allocations completed all TP handshakes, routed generation, and backend health checks on the unchanged official images. Run 33837126410 exposed a dispatch-input mistake before evaluation began: literal eval-limit=full is passed through to lm-eval as --limit full, which is invalid. The full dataset requires the empty default for this harness. No engine, benchmark, or srt-slurm source change is needed for that error. Corrected full throughput-plus-eval run: https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33837838363 |
|
The first full throughput sweep has passed: all nine concurrency points and 5,116/5,116 measured requests completed on the official vLLM v0.28.0 image. Throughput job: https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33837126410/job/100911912515 The raw artifact audit passed for unique point coverage, exact request/token totals, nonempty outputs, and finite metrics. srt-slurm completed and released the allocation without any host-repair steps. This is not yet complete validation: that workflow still fails because of the earlier eval-limit dispatch mistake. The corrected full run remains https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33837838363, with full GSM8K (empty limit) and all nine throughput points. Its eval is prioritized first in the MI355X queue. No engine patches, config workarounds, or changes to previously validated recipes have been introduced. |
|
Full accuracy validation is now green on the corrected run: https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33837838363/job/100913948095
No graph-mode override, engine patch, or config workaround was needed. The same corrected workflow is now running its full nine-point throughput job (Slurm 42263), so whole-run validation is still in progress. The earlier nine-point throughput sweep also passed and was independently audited, but is not being used as a fill-in for this run. |
|
Complete validation is green: https://github.com/SemiAnalysisAI/InferenceX/actions/runs/33837838363 (attempt 1). All nine throughput points passed with 5,116/5,116 measured requests. Full GSM8K passed with 1,319 unique questions, zero empty responses, strict accuracy 0.9469294920394238, and flexible accuracy 0.9461713419257013 against the unchanged 0.90 threshold. Raw and collected artifacts were independently checked for counts, token totals, finite metrics, topology/GPU metadata, and matching scores. Both Slurm allocations completed 0:0 and released normally. Exact tested checkout: 86b6762; srt-slurm: 33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1. Official images only, no engine patches, graph-mode override, configuration workaround, or fill-in run. The PR description now contains the complete evidence and caveats. It remains draft solely as an archived compatibility port: the regular changelog processor does not accept archived keys, and this manual e2e run is not stageable or reusable as a native PR sweep. No deprecated production sweep was re-enabled. |
Scope
Port the explicitly requested deprecated MiniMax-M3 FP4 MI355X vLLM disaggregated compatibility case. This remains archived and opt-in; it is not restored to active production sweeps. Depends on #2542 and srt-slurm PR #7 runtime at 33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1. Only this compatibility lane selects the new runtime; previously validated recipes retain 81d46274. Latest InferenceX main c355f54 is included.
Preserved behavior
Explicit image refresh
The original engine nightly-2dfaae752b4db0d43cfc0715c780e33be030d0f1 and router nightly-20260716-1fbcde7 tags both return 404 from Docker Hub. Use the official vLLM ROCm v0.28.0 release (digest sha256:e0a3b2bd3fe7ec563916c3a5d949898d133458c18d6b2f460c906885cfb32032) and official vLLM Router nightly-20260903-1d10e71 (digest sha256:be9325fc60f0a9cf896003ce40c7fb902cc834b1c0c0bdadc6259ba6759b5536).
This is an explicit dependency change requiring new performance/accuracy validation. No engine patches, cherry-picks, custom images, package replacement hooks, or setup scripts. The release already contains MoRI-IO and amd-quark.
Validation
Complete end-to-end run: 33837838363, attempt 1 — success. Matrix generation, throughput, eval, both collectors, and success-rate calculation all passed.
86b6762486f245c2ebdca170ee9efc23055f5358. The dispatch workflow came from mainc355f549a; its separate checkout input selected this PR commit.33a3d811b7956973e4ef78b1d0cf4a5d56dad6a1.n_eff=1319,infrastructure_success=true, and no integration error.COMPLETEDwith exit0:0. No host-repair steps or manual process cleanup were needed.power_valid=0). The optional srt dashboard does not contain custom-client points; canonical benchmark/eval artifacts, not that dashboard, are the validation source.Resolved issues
VLLM_PORTscan base inherited by all TP children. srt-slurm c0472a82, incorporated into PR [NVIDIA] Add DSR1 TensorRT Support and Enhanced Plotting #7 at 33a3d811, preserves native ephemeral-port allocation for MoRI. Non-MoRI rendezvous behavior is unchanged. This is an orchestration fix, not an engine patch.eval-limit=full. The lm-eval path requires the empty default for the full split. Correcting the dispatch input required no source, engine, or workload change. The successful run above completed independently with the empty limit.Local checks and regression boundary
Review boundary
This remains a draft archived compatibility port, not a production reactivation. The normal performance-changelog processor only resolves active master-config keys and rejects this archived key. This PR does not bypass that guard, remove its required changelog, or restore deprecated production sweeps.
The successful validation is a manual archived-config
e2e-tests.ymlrun, not a native PRrun-sweep.ymlrun. It is not eligible for/stage-resultsor sweep reuse, and the PR is not claimed merge-ready.