Skip to content

[AgentX] MiniMax-M3.1-Flash B300 SGLang: add TP2 configs / [AgentX] MiniMax-M3.1-Flash B300 SGLang:新增 TP2 配置 - #4524

Open
ispobock wants to merge 15 commits into
mainfrom
minimaxm31flash-b300-sglang-agentx-tp2
Open

ispobock wants to merge 15 commits into
mainfrom
minimaxm31flash-b300-sglang-agentx-tp2

Conversation

@ispobock

@ispobock ispobock commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Add TP2 points with DRAM KV offload at conc 32 to 48 to the existing B300 SGLang AgentX curve. The host cache is 370 GB per rank, inside the 749 GB allocation of a two-GPU point at DRAM utilization 1.0; conc 44 to 48 use longest-prefix-match scheduling. The recipe lives in its own file, so existing points are unchanged.

中文

为现有的 B300 SGLang AgentX 曲线新增 conc 32 到 48 的 TP2 + DRAM KV offload 点。每个 rank 的 host cache 为 370 GB,在 DRAM utilization 1.0 下两卡点 749 GB 的分配额度以内;conc 44 到 48 使用 longest-prefix-match 调度。recipe 单独成文件,现有的点不受影响。

AI model disclosure

Prepared with Claude Code using claude-opus-5-5. Reviewed by the human author before submission.

Adds a TP2 config key with L2 HiCache at conc 32 to 48; conc 44 to 48 use longest-prefix-match scheduling.

为 MiniMax-M3.1-Flash B300 SGLang AgentX 新增 TP2 + L2 HiCache 配置,覆盖 conc 32 到 48,其中 conc 44 到 48 使用 longest-prefix-match 调度。
@ispobock
ispobock requested a review from a team October 26, 2026 01:13
@ispobock ispobock added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for the contribution!

  • Review: If this PR changes files owned by someone other than a repository admin or @SemiAnalysisAI/core, ask one eligible CODEOWNER to complete the latest PR_REVIEW_CHECKLIST.md before contacting a core maintainer on Slack. Follow the template exactly, including As a PR reviewer and CODEOWNER, I have reviewed this and have, so sign-off verification triggers.
  • PR verification: Sweeps run only when the PR appends an inferencex-e2e/perf-changelog.yaml entry and carries exactly one primary label: full-sweep-fail-fast (strongly recommended; canary plus per-matrix fail-fast), full-sweep-enabled (canary; matrix jobs continue after a failure), or non-canary-full-sweep-enabled (no canary or fail-fast). The modifiers all-evals, evals-only, and agentx-fast require a primary label. On fork PRs, a maintainer applies the label. See sweep labels and reuse.
  • After merging: PR authors must ensure all GitHub Actions jobs pass. Transient failures often pass on rerun; see how to rerun failed jobs.
中文

感谢你的贡献!

  • **审阅:**如果 PR 修改的文件归属于仓库管理员及 @SemiAnalysisAI/core 之外的 CODEOWNER,请先联系一位有资格的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,再通过 Slack 联系核心维护者。必须严格遵循模板,并保留 As a PR reviewer and CODEOWNER, I have reviewed this and have,才能触发签核验证。
  • **PR 验证:**只有当 PR 在 inferencex-e2e/perf-changelog.yaml 末尾追加了条目,并且恰好带有一个主标签时,才会运行扫描:full-sweep-fail-fast(强烈推荐;canary 加逐矩阵 fail-fast)、full-sweep-enabled(有 canary;矩阵任务在失败后继续运行)或 non-canary-full-sweep-enabled(无 canary,也无 fail-fast)。修饰标签 all-evals、evals-only 和 agentx-fast 必须与主标签一起使用。fork PR 的标签由维护者添加。参见扫描标签与复用。
  • **合并后:**PR 作者必须确保所有 GitHub Actions 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

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

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

Comment on lines +52 to +71
# the decode graph batch matches it.

zip_override_tp2_hicache:
roles:
agg:
args:
tensor-parallel-size: 2
moe-runner-backend: flashinfer_trtllm_routed
chunked-prefill-size: 32768
max-running-requests: [64, 72, 80]
cuda-graph-max-bs-decode: [64, 72, 80]
mem-fraction-static: 0.87
enable-hierarchical-cache: true
hicache-size: 295
hicache-write-policy: write_back
benchmark:
env:
CONC: ['32', '36', '40']
KV_OFFLOADING: dram

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.

🟡 nit (optional): New override and search-space comments are section headers that restate code, which AGENTS.md forbids. sweep:^# TP2 with L2 HiCache|^# Higher-concurrency points|# TP2 with L2 HiCache: 295 GB Examples: agentic-tp2.yaml:72 repeats schedule-policy: lpm, and nvidia-master.yaml:9484 repeats the tp, hicache size and conc-list values. Fix: delete these header comments. Keep only a one-line why at a specific line where needed, such as next to max-running-requests for the 2x CONC choice. [also at: inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/minimaxm31flash/sglang/b300-fp4-mtp/agentic-tp2.yaml:72 - nit: Two new comments only restate the config next to them, which the repo's comment rules forbid. "Higher-concurrency points use longest-prefix-match scheduling." just repeats schedule-policy: lpm, and the master-config comment "TP2 with L2 HiCache: 295 GB per rank at conc 32-48." repeats the row below it.]

Why this was flagged

AGENTS.md "Comments (mandatory, every file)" bans "header comments describing a file, topology, config, recipe, override, or section" and says "never restate the code". agentic-tp2.yaml:52-53 sits above zip_override_tp2_hicache and repeats write_back and 295 GB, which are already in the override's hicache-write-policy and hicache-size lines. agentic-tp2.yaml:72 sits above zip_override_tp2_hicache_lpm and only restates schedule-policy: lpm. nvidia-master.yaml:9484 "# TP2 with L2 HiCache: 295 GB per rank at conc 32-48." restates the search-space row below it. The sibling agentic.yaml has similar section comments, which is precedent but not a sanctioned exception. Nothing breaks at runtime; this is a convention slip that reviewers following AGENTS.md would flag.

Verification: AGENTS.md lines 54-58 say: "No header comments describing a file, topology, config, recipe, override, or section" and "never restate the code". agentic-tp2.yaml:51-52 and :72 are section headers that repeat hicache-size: 295 and schedule-policy: lpm. nvidia-master.yaml:9484 restates the row below it. Nothing functional breaks.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook integration of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark-tp2) will happen in sgl-project/sglang#46506, in the Agentic Long-Context Deployment section of the MiniMax-M3.1-Flash cookbook page.

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (2e12ce08a) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#46506 has been merged. This PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark-tp2) is now in the Agentic Long-Context Deployment section of the SGLang MiniMax-M3.1-Flash cookbook: https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1#agentic-long-context-deployment

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (2e12ce08a) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

…sglang-agentx-tp2

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook update of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark-tp2) will happen in sgl-project/sglang#46547, in the Agentic Long-Context Deployment section of the MiniMax-M3.1-Flash cookbook page. The config has been live in that section since sgl-project/sglang#46506; sgl-project/sglang#46547 refreshes it with the pin below.

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (8eddada3c) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#46547 has been merged. This PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark-tp2) is now in the Agentic Long-Context Deployment section of the SGLang MiniMax-M3.1-Flash cookbook: https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1#agentic-long-context-deployment

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (8eddada3c) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

@ispobock ispobock added full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Oct 26, 2026
…sglang-agentx-tp2

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
@ispobock ispobock added full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Oct 26, 2026
@ispobock ispobock removed the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 26, 2026
@ispobock ispobock added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Oct 26, 2026
@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook update of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) will happen in sgl-project/sglang#46807, in the Agentic Long-Context Deployment section of the MiniMax-M3.1-Flash cookbook page. The config has been live in that section since sgl-project/sglang#46506; sgl-project/sglang#46807 refreshes it with the pin below.

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (6481cd6b3) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#46807 has been merged. This PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) is now in the Agentic Long-Context Deployment section of the SGLang MiniMax-M3.1-Flash cookbook: https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1#agentic-long-context-deployment

This PR has no authorized /use <run_id> comment yet, so the cookbook shows the recipe at this PR's head (6481cd6b3) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

@ispobock

Copy link
Copy Markdown
Collaborator Author

/use 40345805111

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

@ispobock staged run 40345805111.

This run remains available across future /stage-results requests. Staging the same run ID again updates its staged data. Staging workflow

…sglang-agentx-tp2

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
@Oseltamivir

Copy link
Copy Markdown
Collaborator

As a PR reviewer and CODEOWNER, I have reviewed this and have

Check recipe, flags. Ignore missing checklist

@github-actions

Copy link
Copy Markdown
Contributor

❌❌❌ REJECTED ❌❌❌

❗❗ WARNING ❗❗ NVIDIA official recipes overview: model/framework coverage is missing or unverified. See Check 16.

@Oseltamivir Blocking: no eval has run on any commit in this PR. The sign-off also has no checklist items and no upstream recipe link.

❌ Check 1 (Sweep + evals on in-PR commit): FAIL — No passing sweep/eval was found on any commit in this PR. Run 40345805111 on in-PR commit 6481cd6b has 6/6 agentic / jobs at success. Its agentic eval / and eval / jobs were skipped, because append-only: true sweeps skip evals by design. No other in-PR commit has executed evals. The later merge f67ebf58 is non-material, since it does not touch this config, its recipe or the launch path.

❌ Check 2 (Eval accuracy): FAIL — Evals were skipped. No eval exists for the new TP2 recipe agentic-tp2.yaml (TP2, flashinfer_trtllm_routed, HiCache 370, LPM at conc 44-48), so there is no accuracy result to compare with the cohort. The skipped job is agentic eval / in run 40345805111.

❌ Check 3 (Upstream recipe): FAIL — The sign-off's additional detail section has no link to a merged SGLang cookbook PR or a published cookbook page. Its body is only "Check recipe, flags. Ignore missing checklist". Coverage does exist: sgl-project/sglang#46807 (MERGED 2026-10-27) adds the B300 TP2 entry from this PR at 6481cd6b, with HiCache 370 and per-point overrides, on the published page. The sign-off must link it.

❌ Check 5 (Latest checklist template): FAIL — The sign-off has none of the items in the current PR_REVIEW_CHECKLIST.md template: no checkboxes, no additional detail section and no signature. "Ignore missing checklist" does not explain a missing item.

⚠️ Check 13 (Draft precision): WARN — Draft precision could not be verified for minimaxm31flash-fp4-b300-sglang-agentic-dspark TP2 (bundled DSpark draft, block size 7). The recipe sets no draft-quantization, dtype or KV-dtype override, and SGLANG_NVFP4_CKPT_FP8_NEXTN_MOE is absent from the launch env in the run log. However, the sign-off records neither the draft's stored precision nor how the pinned image handles it by default. Human review is needed.

⚠️ Check 16 (NVIDIA overview): WARN — MiniMax-M3.1-Flash with SGLang on B300 is not listed in the NVIDIA recipes overview. It has no row in either table; only MiniMax-M2, M2.5 and M3 are listed. Upstream coverage is the SGLang cookbook page. Please add this pair to the overview.

Passed and not applicable checks

✅ Check 0 (CODEOWNER): PASS — Oseltamivir is a CODEOWNER (collectivex/) and a repository admin (permission: admin, role_name: admin). The changed NVIDIA config and recipe paths list @SemiAnalysisAI/core; team membership could not be read with this token, which is not a failure.

✅ Check 4 (Reuse command): PASS — ispobock (COLLABORATOR) posted /use 40345805111, a run on in-PR commit 6481cd6b.

✅ Check 6 (Upstream image / engine-first): PASS — framework: sglang with upstream lmsysorg/sglang:dev-minimax-m31-flash@sha256:614b1509…. Only an open-source engine entry is added.

✅ Check 7 (Deprecated models): PASS — MODELS.md lists minimaxm31flash (added 2026-10-23) with Agentic coding active and no deprecations.

✅ Check 8 (No architecture hacks): PASS — No --hf-overrides, model-config edits or accuracy-trading levers. HiCache, LPM scheduling and flashinfer_trtllm_routed leave the computation unchanged.

✅ Check 9 (Spec-decode chat template): PASS — The AgentX trace replay goes through the shared AIPerf chat-completions client, which this PR does not change. Acceptance is governed by Check 11.

✅ Check 10 (No engine patches): PASS — agentic-tp2.yaml has no setup script, patch, source edit or wheel install. The reachable srt-slurm SGLang path is unchanged.

✅ Check 11 (Golden simulated AL): PASS — The run logs show SGLANG_SIMULATE_ACC_LEN=4.04, match-expected and real-draft-token for DSpark block size 7. This equals minimaxm31flash_dspark.yaml thinking_on[7] = 4.04.

✅ Check 12 (Append-only): PASS — The single new changelog entry is append-only. The 9 base points stay unchanged and 6 TP2 points are added (no points removed or re-tuned). The new recipe file and the new dram-utilization: 1.0 search-space block are reachable only by the TP2 points, which use the same image.

✅ Check 14 (Pareto coverage): PASS — The combined B300 SGLang FP4 AgentX curve at P90 E2EL has 7/5 frontier points: TP2 c32/36/40/44/48 from run 40345805111 plus same-image TP4 c16 and dram-c32 from run 40178345296. The new TP2 points alone give 5/5; c46 is dominated.

✅ Check 15 (PR description): PASS — The body matches the pinned code and run artifacts: TP2 at conc 32-48, 370 GB HiCache per rank within the 749 GB allocation (allocated_cpu_dram_gb: 749), LPM at conc 44-48, and a separate recipe file.

✅ Check 18 (Recipe/image/sweep consistency): PASS — The config generates without errors. Master TP2 and the conc list match the recipe's tensor-parallel-size: 2, gpus: 2 and CONC zips. No new image is referenced and no points are removed. The changelog description is accurate. There are no re-tune deltas.

➖ Check 17 (Metrics publication): N/A — Direct SGLang, with no Dynamo TRT-LLM serving path.

Assessed commit: f67ebf5858dc21fd3413c523fbe8bf183d097d87.

@Oseltamivir

Copy link
Copy Markdown
Collaborator

zijiexia and others added 2 commits October 27, 2026 18:46
…sglang-agentx-tp2

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
Set speculative-draft-kv-cache-dtype fp8_e4m3 on every point, matching the
vLLM DSpark drafter. The bf16 draft KV took 21 GB of HBM and 71 GB of the
HiCache host pool per rank at TP2. Drop append-only so the whole curve reruns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zijiexia and others added 4 commits October 27, 2026 21:27
The draft-only speculative-draft-kv-cache-dtype override lowers draft KV
below the pinned image's bf16 default, which the draft-precision rule in
CONTRIBUTING.md forbids. Restore the append-only TP2 addition.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sglang-agentx-tp2

# Conflicts:
#	inferencex-e2e/perf-changelog.yaml
Reviewed and approved: store the DSpark draft KV in FP8 on every point and
rerun the full B300 SGLang AgentX curve.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@zijiexia zijiexia added full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Oct 28, 2026
@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook update of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) will happen in sgl-project/sglang#46948, in the Agentic Long-Context Deployment section of the MiniMax-M3.1-Flash cookbook page. The config has been live in that section since sgl-project/sglang#46506; sgl-project/sglang#46948 refreshes it with the pin below.

This PR's /use comment pins run 40345805111, which measured 6481cd6b3. That commit does not have this PR's configurations under this config key (the PR moved or added them since), so the cookbook shows the recipe at this PR's head (5f2ebd584) as "in progress". A later cookbook PR marks it measured once a run of this key is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#46948 has been merged. This PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) is now in the Agentic Long-Context Deployment section of the SGLang MiniMax-M3.1-Flash cookbook: https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1#agentic-long-context-deployment

This PR's /use comment pins run 40345805111, which measured 6481cd6b3. That commit does not have this PR's configurations under this config key (the PR moved or added them since), so the cookbook shows the recipe at this PR's head (5f2ebd584) as "in progress". A later cookbook PR marks it measured once a run of this key is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook update of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) will happen in sgl-project/sglang#47027, in the Agentic Long-Context Deployment section of the MiniMax-M3.1-Flash cookbook page. The config has been live in that section since sgl-project/sglang#46506; sgl-project/sglang#47027 refreshes it with the pin below.

This PR's /use comment pins run 40345805111, which measured 6481cd6b3. That commit does not have this PR's configurations under this config key (the PR moved or added them since), so the cookbook shows the recipe at this PR's head (3c964a225) as "in progress". A later cookbook PR marks it measured once a run of this key is pinned or this PR merges.

@nvpohanh

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#47027 has been merged. This PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) is now in the Agentic Long-Context Deployment section of the SGLang MiniMax-M3.1-Flash cookbook: https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1#agentic-long-context-deployment

This PR's /use comment pins run 40345805111, which measured 6481cd6b3. That commit does not have this PR's configurations under this config key (the PR moved or added them since), so the cookbook shows the recipe at this PR's head (3c964a225) as "in progress". A later cookbook PR marks it measured once a run of this key is pinned or this PR merges.

This branch has not been deployed

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

Labels

full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended)

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants