Skip to content

[AMD] Add MiniMax-M3-FP8 MI355X ATOM non-EAGLE3 & EAGLE3#1867

Open
seungrokj wants to merge 15 commits into
mainfrom
amd/m3_atom_fp8
Open

[AMD] Add MiniMax-M3-FP8 MI355X ATOM non-EAGLE3 & EAGLE3#1867
seungrokj wants to merge 15 commits into
mainfrom
amd/m3_atom_fp8

Conversation

@seungrokj

@seungrokj seungrokj commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add minimaxm3-fp8-mi355x-atom CI recipe: single-node ATOM benchmark for MiniMax-M3-MXFP8 on MI355X
  • Add minimaxm3-fp8-mi355x-atom-mtp CI recipe: same with EAGLE3 speculative decoding (3 draft tokens)
  • Both use rocm/atom-dev:MiniMax-M3-20260619 image, search space mirrors the FP4 atom variants (ISL=1024,8192 OSL=1024 TP2/TP4/TP8)

Test plan

  • Server launches correctly for FP8 checkpoint
  • EAGLE3 spec args pass through correctly for mtp variant
  • CI sweep triggers on mi355x runner for both configs

🤖 Generated with Claude Code


Note

Low Risk
Changes are limited to benchmark shell scripts and CI YAML; they do not alter application serving, auth, or data paths. Main operational risk is new GPU CI sweep cost or recipe drift if the pinned ATOM image or EAGLE3 draft setup fails on hardware.

Overview
Adds MI355X single-node ATOM performance CI for MiniMax-M3 MXFP8, alongside the existing vLLM and FP4 ATOM entries.

Two new config keys in amd-master.yamlminimaxm3-fp8-mi355x-atom and minimaxm3-fp8-mi355x-atom-mtp — both pin rocm/atom-dev:MiniMax-M3-20260622, MiniMaxAI/MiniMax-M3-MXFP8, and fixed-seq-len sweeps at ISL 1024/8192 with OSL 1024, TP4, concurrency 1–256. The MTP recipe marks spec-decoding: mtp in the search space.

New benchmark drivers minimaxm3_fp8_mi355x_atom.sh and minimaxm3_fp8_mi355x_atom_mtp.sh start atom.entrypoints.openai_server with block size 128, 0.8 GPU memory util, and shared ROCm env (AITER_QUICK_REDUCE_QUANTIZATION=INT4, 32k context/batch limits). The MTP script adds EAGLE3 via --method eagle3, draft Inferact/MiniMax-M3-EAGLE3, and 3 speculative tokens; both optionally run lm-eval when RUN_EVAL=true.

perf-changelog.yaml documents the new recipes for changelog tracking.

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

… benchmark scripts and CI configs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for the contribution! For vLLM & SGLang, please ensure that your recipes is similar to the official vLLM recipes and/or the SGLang cookbook

If it is not, please create a PR first before we can merge your single node PR into the master branch. Let's ensure that the documentation is first class such that the entire ML community can benefit from your hard work! Thank you

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. If re-running failed jobs is attempted, PR authors are responsible for ensuring it passes. See GitHub's docs on re-running failed jobs: https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow

As a rule of thumb, generally, PR authors should request a review & get a PR approval from the respective companies' CODEOWNERS before requesting a review from core maintainers.

If additional help is needed, PR authors can reach out to core maintainers over Slack.


感谢你的贡献!对于 vLLM 与 SGLang,请确保你的 recipe 与官方 vLLM recipes 和/或 SGLang cookbook 保持一致

如果不一致,请先创建一个 PR,之后我们才能将你的单节点 PR 合并到 master 分支。让我们确保文档保持一流水准,使整个 ML 社区都能从你的辛勤工作中受益!谢谢

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。如果选择重新运行失败的任务,PR 作者有责任确保其最终通过。参见 GitHub 关于重新运行失败任务的文档:https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow

一般而言,PR 作者应先向相应公司的 CODEOWNERS 请求审阅并获得 PR 批准,然后再请求核心维护者审阅。

如需更多帮助,PR 作者可通过 Slack 联系核心维护者。

…tom-mtp

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@seungrokj seungrokj changed the title feat: add minimaxm3-fp8-mi355x-atom and atom-mtp single-node ATOM benchmarks [AMD] Add MiniMax-M3-FP8 MI355X ATOM non-EAGLE3 & EAGLE3 Jun 20, 2026
Comment thread benchmarks/single_node/fixed_seq_len/minimaxm3_fp8_mi355x_atom_mtp.sh Outdated
Comment thread benchmarks/single_node/fixed_seq_len/minimaxm3_fp8_mi355x_atom.sh
Comment thread benchmarks/single_node/fixed_seq_len/minimaxm3_fp8_mi355x_atom_mtp.sh Outdated
…atom scripts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

…-atom-mtp

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Comment thread .github/configs/amd-master.yaml
@github-actions

Copy link
Copy Markdown
Contributor

…-only configs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 196961a. Configure here.

Comment thread .github/configs/amd-master.yaml
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@seungrokj

Copy link
Copy Markdown
Collaborator Author

/merge-prs

@functionstackx

Copy link
Copy Markdown
Collaborator

/merge-prs

/merge-prs isnt an github comment fyi, it is an claude code command u type into claude code CLI https://code.claude.com/docs/en/commands @seungrokj

seungrokj and others added 2 commits June 23, 2026 10:51
@github-actions

Copy link
Copy Markdown
Contributor

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

seungrokj and others added 2 commits June 23, 2026 12:36
- Add AITER_QUICK_REDUCE_QUANTIZATION=INT4, MAX_MODEL_LEN=32768,
  MAX_NUM_BATCHED_TOKENS=32768, MAX_NUM_SEQS=128
- Pass --max-model-len, --max-num-batched-tokens, --max-num-seqs to server
- Conditional --use-chat-template based on SPEC_ARGS
- Add trailing newline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

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.

2 participants