Skip to content

Add MiniMax-M3 NVFP4 B300 Dynamo vLLM benchmarks#1931

Open
Oseltamivir wants to merge 3 commits into
mainfrom
feat/minimaxm3-nvfp4-b300-dynamo-vllm
Open

Add MiniMax-M3 NVFP4 B300 Dynamo vLLM benchmarks#1931
Oseltamivir wants to merge 3 commits into
mainfrom
feat/minimaxm3-nvfp4-b300-dynamo-vllm

Conversation

@Oseltamivir

Copy link
Copy Markdown
Collaborator

Summary

  • add minimaxm3-fp4-b300-dynamo-vllm for B300 disaggregated Dynamo-vLLM STP coverage at 1k1k and 8k1k
  • reuse the existing MiniMax-M3 MXFP8 B300 topology and concurrency matrix across 15 checked-in srt-slurm recipes
  • use nvidia/MiniMax-M3-NVFP4 from the staged /scratch/models/MiniMax-M3-NVFP4 path and the B300 performance image used by PR Add MiniMax-M3 NVFP4 B300 single-node aggregated vLLM benchmark #1928
  • apply the MiniMax-M3 ModelOpt NVFP4 support from Add MiniMax-M3 modelopt nvfp4 support vllm-project/vllm#46380 at commit 6c08558112acd2fd8b4bfc270104d556eb77f9bf during worker setup
  • retain the MiniMax-M3 MSA contiguous top-k fix and remove the MXFP8-only Marlin override from TP4 decode

Validation

  • uv run --with pytest --with pydantic --with pyyaml python -m pytest utils/matrix_logic/ -q (180 passed)
  • uv run --with pytest --with pydantic --with pyyaml python -m pytest utils/changelog_gate_tests/test_validate_perf_changelog.py -q (20 passed)
  • targeted sweep generation produces 15 B300 Dynamo-vLLM entries, all with spec-decoding: none
  • validated recipe paths, topology metadata, concurrency lists, YAML parsing, Bash syntax, ShellCheck, and git diff --check

@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 联系核心维护者。

@Oseltamivir Oseltamivir marked this pull request as ready for review June 25, 2026 11:05
@Oseltamivir Oseltamivir requested a review from a team June 25, 2026 11:05
@claude

claude Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Claude finished @Oseltamivir's task in 2m 47s —— View job


PR Review: MiniMax-M3 NVFP4 B300 Dynamo vLLM

  • Gather context (diff, recipes, launch script)
  • Review master config + perf-changelog
  • Review launch script changes
  • Review recipe YAMLs + vllm-fixes.sh
  • Cross-check config ↔ recipe consistency

LGTM — no blocking issues found.

Verified in detail:

  • Master config + changelog: nvidia-master.yaml edited and perf-changelog.yaml updated; the new entry is correctly appended to the end of the changelog (after PR Bump vLLM version for DSV4 B200 disagg #1899). ✅
  • Config ↔ recipe mapping: All 15 CONFIG_FILE references resolve to checked-in recipes, and every entry's topology (num-worker/tp/ep/dp-attn) and conc-list matches its recipe's prefill_workers/decode_workers/gpus_per_*/parallel sizes and concurrencies. dp-attn: true→DEP (data-parallel-size + EP) vs false→TEP (tensor-parallel-size + EP) is consistent throughout. ✅
  • 8k1k context window: all 8k1k recipes use max-model-len: 9472 (≥ 8192+1024). ✅
  • Launch routing: launch_b300-nv.sh adds the minimaxm3 fp4 branch in both the model-path selector and the srt-slurm clone block, selecting minimax-m3-nvfp4-vllm-fixes.sh; enroot docker://$IMAGE import is preserved. ✅
  • Marlin drop: the FP8-only moe-backend: marlin override is correctly absent from the FP4 TP4 decode recipes. ✅
  • Image: vllm/vllm-openai:vllm-minimax-m3-perf-x86_64-13.0.1-7a67223 is a Docker Hub reference (same pattern as the already-merged minimaxm3-fp8 image), not a local path. ✅
    · feat/minimaxm3-nvfp4-b300-dynamo-vllm

@github-actions

Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

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.

LGTM — benchmark-only addition that mirrors the existing MiniMax-M3 MXFP8 B300 setup with a parallel NVFP4 path.

Extended reasoning...

Overview

This PR adds a new MiniMax-M3 NVFP4 B300 disaggregated Dynamo-vLLM benchmark sweep. The changes are scoped entirely to benchmark infrastructure: 15 new srt-slurm recipe YAMLs under benchmarks/multi_node/srt-slurm-recipes/vllm/minimax-m3/b300-fp4/, a new minimax-m3-nvfp4-vllm-fixes.sh setup script that overlays vllm-project/vllm#46380 at a pinned commit and re-applies the MSA contiguous top-k patch, a new minimaxm3-fp4-b300-dynamo-vllm sweep entry in nvidia-master.yaml, a corresponding perf-changelog.yaml entry, and a small runners/launch_b300-nv.sh extension that adds the new minimaxm3 + fp4 + dynamo-vllm branch and selects the right setup script per precision.

Security risks

None. The added curl-downloads pin a specific upstream commit hash (6c08558112acd2fd8b4bfc270104d556eb77f9bf) and the script runs in the benchmark worker context only. No auth, crypto, permission, or user-input paths are touched.

Level of scrutiny

Low. The changes follow the established MXFP8 pattern almost verbatim — same topology matrix, same recipe shape, same runner branching style. The launch_b300-nv.sh edits are a mechanical extension of an existing conditional chain that already supported minimaxm3 + fp8. The NVFP4 fixes script mirrors the existing minimax-m3-vllm-fixes.sh flow.

Other factors

The PR description reports passing matrix-logic and changelog-gate tests (180 + 20 passed), shellcheck, and YAML/bash-syntax validation. The bug hunting system found no issues. The author tag is full-sweep-enabled so CI will exercise the new sweep. Nothing here warrants holding for a human reviewer.

@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.

1 participant