Repository navigation
docs(recipe): MiniMax-M3.1-Flash TP4 + DSpark AgentX recipe - #2747
Draft
zhuyuhua-v wants to merge 3 commits into
Draft
zhuyuhua-v wants to merge 3 commits into
zhuyuhua-v wants to merge 3 commits into
Conversation
Contributor
🏷️ CI GuideRuns automatically on every eligible PR before approval:
Heavy model tests:
|
MengqingCao
added a commit
that referenced
this pull request
Oct 27, 2026
Use recipe #2747 settings and AgentX 1.0.12, retaining 1 TiB Mooncake Store, RDMA P/D transfer, and the 30-second trace window. Resolve model-specific images and served model names.
MengqingCao
added a commit
that referenced
this pull request
Oct 28, 2026
Use recipe #2747 settings and AgentX 1.0.12, retaining 1 TiB Mooncake Store, RDMA P/D transfer, and the 30-second trace window. Resolve model-specific images and served model names.
zhuyuhua-v
force-pushed
the
yuhzhu/m31-agentx-recipe
branch
from
October 28, 2026 07:28
7742552 to
bc17806
Compare
Adds the M3.1 configuration to the M3 agentic InferenceX recipe: FP8 KV and index with Mono at CONC 1-16, NVFP4 sparse KV + FP4 index + fused verify top-k at CONC 32-48, per-channel FP8 draft linears, dense cudagraph sizes, the AgentX client, and the 3600 s ladder against the SGLang InferenceX CI run with gsm8k accuracy.
zhuyuhua-v
force-pushed
the
yuhzhu/m31-agentx-recipe
branch
from
October 28, 2026 08:15
bc17806 to
a349c02
Compare
Drop --online_quant_config (ptpc_fp8 attention), AITER_QUICK_REDUCE_QUANTIZATION=INT4 and ATOM_FUSE_MXFP8_SHARED_INTO_MXFP4=1 from the M3.1 command. Mono needs per-token FP8 attention and a fused shared expert, so it now declines and the FP8 band runs the production decode path; the band table and the startup checks say so. The measured and gsm8k tables were taken with the previous command and are marked as such until they are re-measured with this one.
…oncurrency NVFP4 sparse KV (ATOM_M3_SPARSE_KV_NVFP4) and the FP4 index cache come from #2744, which is not on main, so the c32 / c48 band and its flags go: every concurrency runs FP8 KV + FP8 index, with the prefill delayer up to c16. The FP8 cache's capacity limit at c48 stays documented as a known limit, with the earlier measurement. The measured rows, all taken with the previous command (and NVFP4 at c32 / c48), stay marked as to be re-measured.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a MiniMax-M3.1-Flash — TP4 + DSpark section to
recipes/MiniMax-M3-Agentic-InferenceX.md, plus a pointer to it at the top of the file. The M3 (EAGLE3) content is unchanged.The recipe lists only the best-performing configuration. The sweeps that chose it are below.
ATOM_PREFILL_DECODE_INTERVAL=20000)Every band uses DSpark K=7,
--online_quant_config ptpc_fp8(which #2743 also applies to the draft), dense cudagraph sizes and--gpu-memory-utilization 0.9.Docs only. This stays a draft until #2686, #2743 and #2744 land.
Recipe numbers (3600 s per point, vs SGLang CI run 40110172586)
gsm8k strict-match (InferenceX CI method, real acceptance):
Sweep 1: speculative tokens K = 3 / 5 / 7, Mono on
Each K uses its InferenceX golden accepted length: K3 2.88, K5 3.46, K7 4.04, from
infx/golden_al_distribution/minimaxm31flash_dspark.yaml.Mono serves decode steps of up to 16 rows, so it covers bs ≤ 4 at K=3 and bs ≤ 2 at K=5 and K=7.
Each K passed a gsm8k gate with Mono serving the steps (real acceptance): K3 0.9659, K5 0.9712, K7 0.9682.
FP8 band, 3600 s, MI355X TP4:
K=7 is best on both metrics at every concurrency. Mono's wider coverage at K=3 does not make up for its lower accepted length (2.88 tokens per step against 4.04).
Sweep 2: prefill delayer,
ATOM_PREFILL_DECODE_INTERVAL=20000(K=7, Mono on)Each cell is off → on.
"Ticks held" is
hold_decode_interval / totalscheduler ticks, from the delayer's own stats.With 20000, a new prefill waits until no request is decoding.
A smaller interval (2–8, with
ATOM_PREFILL_DELAYER_MAX_QUEUE_MS) has not been tried at c8–c16.Provenance
rocm/atom-dev:nightly_202610261558.nightly_202610251529.atom:prefix_cache_cached_tokens / atom:prompt_tokens).🤖 Generated with Claude Code