Skip to content

[Klaud Cold] Update minimaxm3-fp8-mi325x-vllm-agentic-mtp vLLM ROCm image to nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 - #2872

Open
functionstackx wants to merge 2 commits into
mainfrom
klaud-cold/minimaxm3-fp8-mi325x-vllm-agentic-mtp-nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36
Open

[Klaud Cold] Update minimaxm3-fp8-mi325x-vllm-agentic-mtp vLLM ROCm image to nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36#2872
functionstackx wants to merge 2 commits into
mainfrom
klaud-cold/minimaxm3-fp8-mi325x-vllm-agentic-mtp-nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36

Conversation

@functionstackx

@functionstackx functionstackx commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Update vLLM ROCm image for the MI325X MiniMax-M3 MXFP8 AgentX EAGLE3 recipe from vllm/vllm-openai-rocm:v0.27.1 (v0.27.1 release) to vllm/vllm-openai-rocm:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 (2026-09-07 upstream ROCm nightly).

  • Tag verified on Docker Hub: last pushed 2026-09-07T05:26:48Z, digest sha256:74d4a95f3ae672ecddf9acb7296917def82d9eca51687fa2862ae72b03ff1907; tag commit vllm-project/vllm@d9105ea8, the same commit the B200 MiniMax-M3 AgentX recipe moved to in [Klaud Cold] Update minimaxm3-fp4-b200-vllm-agentic-mtp vLLM image to nightly-8a728663c1c3eeace834a95f5654fa653cc1998c #2860.
  • benchmarks/single_node/agentic/minimaxm3_fp8_mi325x_mtp.sh is unchanged and pins nothing image-specific: TRITON_ATTN attention, fp8 KV, block-size 128, EAGLE3 with the Inferact EAGLE3-GQA draft and committed golden synthetic AL, minimax_m3 parsers. Search space unchanged.
  • Caveat: vllm-openai-rocm commit-nightly tags have expired from Docker Hub within days before. Node squash caches keep a merged config running, but a re-pin to a durable tag may be needed later.

Recipes touched: minimaxm3-fp8-mi325x-vllm-agentic-mtp

Test plan

  • full-sweep-enabled sweep passes on cluster:mi325x-amds.

🤖 Generated with Claude Code


Note

Low Risk
Scoped benchmark/config and vLLM serve flags only; no application auth or data-path changes, with a targeted fix for a known init failure on the new image.

Overview
Updates the minimaxm3-fp8-mi325x-vllm-agentic-mtp recipe to vllm/vllm-openai-rocm:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 (2026-09-07 ROCm nightly, same vLLM commit as the B200 AgentX move in #2860), replacing v0.27.1.

After the first sweep failed at engine init (run 34174124043), minimaxm3_fp8_mi325x_mtp.sh now passes --compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY"}' so serve starts when the nightly skips torch-compile for MiniMaxM3SparseForConditionalGeneration and VLLM_USE_BREAKABLE_CUDAGRAPH=0 blocks default FULL_AND_PIECEWISE graphs—aligned with the MI355X MiniMax-M3 nightly approach (#2825). Agentic search space and other serve flags are unchanged.

perf-changelog.yaml records the image bump and compilation-config fix for the agentic-coding scenario.

Reviewed by Cursor Bugbot for commit 5f4e8e6. Bugbot is set up for automated code reviews on this repo. Configure here.

Update

First sweep (run 34174124043 on the MI300X sibling) failed at engine init: the nightly does not torch-compile MiniMaxM3SparseForConditionalGeneration, and with VLLM_USE_BREAKABLE_CUDAGRAPH=0 the default FULL_AND_PIECEWISE graph mode aborts ("piecewise CUDA graphs unavailable ... Set VLLM_USE_BREAKABLE_CUDAGRAPH=1 or cudagraph_mode=NONE/FULL"). Added --compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY"}' to the serve command, matching the MI355X MiniMax-M3 sibling on its nightly (#2825). Script is otherwise unchanged.

…mage to nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@functionstackx
functionstackx force-pushed the klaud-cold/minimaxm3-fp8-mi325x-vllm-agentic-mtp-nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 branch from 91a463a to 6532842 Compare September 8, 2026 00:40
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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 As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

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 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

2 similar comments
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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 As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

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 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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 As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

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 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

Comment thread perf-changelog.yaml Outdated
- agentic-coding
description:
- "Update vLLM ROCm image from vllm/vllm-openai-rocm:v0.27.1 (v0.27.1 release) to vllm/vllm-openai-rocm:nightly-d9105ea8001e0a6d77a96327d17515bb5791fb36 (2026-09-07 upstream ROCm nightly, digest sha256:74d4a95f3ae672ecddf9acb7296917def82d9eca51687fa2862ae72b03ff1907, tag commit vllm-project/vllm@d9105ea8; Docker Hub last pushed 2026-09-07T05:26:48Z). benchmarks/single_node/agentic/minimaxm3_fp8_mi325x_mtp.sh is unchanged: TRITON_ATTN attention, fp8 KV, block-size 128, EAGLE3 speculative decoding with the Inferact MiniMax-M3 EAGLE3-GQA draft and the committed golden synthetic acceptance length, minimax_m3 tool-call and reasoning parsers; the search space is unchanged. The upstream commit-pinned ROCm nightly is the same vllm commit the B200 MiniMax-M3 AgentX recipe moved to in #2860. Note that vllm-openai-rocm commit-nightly tags have expired from Docker Hub within days in the past; node squash caches keep merged configs running, but a re-pin to a durable tag may be needed later."
pr-link: PRLINK_PLACEHOLDER

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 The new entry's pr-link: PRLINK_PLACEHOLDER is not in validate_perf_changelog.py's PR_LINK_PLACEHOLDERS set ({"XXX", the canonical PR URL}). When this full-sweep-enabled PR is merged via utils/merge_with_reuse.sh, prepare_perf_changelog_merge.py's canonicalize step raises ChangelogValidationError("appended entry N has unexpected pr-link 'PRLINK_PLACEHOLDER'"), and set -euo pipefail aborts the whole reuse-merge script, blocking the squash-merge until someone manually edits the changelog. Fix: the appended entry's pr-link must be exactly XXX (the only pre-PR placeholder the merge tooling accepts) or the real PR URL — note TBD (the docs-suggested placeholder) would also fail this same guard.

Extended reasoning...

utils/merge_with_reuse.sh runs prepare_perf_changelog_merge.py canonicalize --pr-number PR --base-ref origin/main after merging main into the PR branch (used to land full-sweep-enabled PRs with sweep-run reuse, matching this PR's label). canonicalize_appended_links() (prepare_perf_changelog_merge.py) iterates the newly appended entries, computes link = entry['pr-link'], and does if link != expected_link: if link not in PR_LINK_PLACEHOLDERS: raise ChangelogValidationError(...). PR_LINK_PLACEHOLDERS (validate_perf_changelog.py) is only {'XXX', 'https://.../pull/XXX'}. 'PRLINK_PLACEHOLDER' matches neither, so the raise fires, the python process exits non-zero, and the bash script (set -euo pipefail) dies before pushing/squash-merging — the PR cannot be merged through this tool until the placeholder is corrected to 'XXX' or a real link.

Verification: normal. The appended entry uses pr-link: PRLINK_PLACEHOLDER (perf-changelog.yaml, final diff line). This value is not in PR_LINK_PLACEHOLDERS = {"XXX", "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX"} (utils/validate_perf_changelog.py:24-27) and is not the canonical expected URL. Two reachable failures result: (1) The reuse-merge path — utils/merge_with_reuse.sh runs… | Severity:…

…with breakable graphs off

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant