Skip to content

[AgentX] MiniMax-M3.1-Flash B300 SGLang: add TP2 and TP4 points / [AgentX] MiniMax-M3.1-Flash B300 SGLang:新增 TP2 和 TP4 点 - #4726

Merged
Oseltamivir merged 12 commits into
mainfrom
minimaxm31flash-b300-sglang-fill-points
Nov 3, 2026
Merged

Oseltamivir merged 12 commits into
mainfrom
minimaxm31flash-b300-sglang-fill-points

Conversation

@ispobock

@ispobock ispobock commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Add points to the B300 SGLang AgentX curve:

  • TP4 with DRAM KV offload (HiCache 290 GB per rank) at conc 20, 44, 52 and 60, shortest-prefill-first with a prefill-decode interval of 32.
  • TP4 without KV offload at conc 16, shortest-prefill-first with a prefill-decode interval of 32.
  • TP2 with DRAM KV offload (HiCache 370 GB per rank) at conc 44, shortest-prefill-first with a prefill-decode interval of 32.
  • TP2 with DRAM KV offload and a larger HBM KV pool (mem-fraction-static 0.93) at conc 50 and 52, shortest-prefill-first with a prefill-decode interval of 20.

@github-actions

github-actions Bot commented Nov 1, 2026

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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@ispobock
ispobock requested a review from RohitNagraj as a code owner November 1, 2026 17:39

@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 +53 to +54
# Shortest-prefill-first with a decode interval of 32 on TP4 with DRAM KV offload,
# filling the curve between the TP2 and TP4 points.

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): The new override header breaks the AGENTS.md comments rule. Its first sentence restates the override's own flags, and "filling the curve between the TP2 and TP4 points" gives a benchmarking motive, not a technical reason. Fix: delete both lines and keep only the technical comment "2x CONC (AgentX subagent fan-out); the decode graph batch matches it." above zip_override_tp4_dram_spf_interval32.

Why this was flagged

AGENTS.md:56 says "No header comments describing a file, topology, config, recipe, override, or section." AGENTS.md:58 allows only technical explanation and says "never restate the code". The new header at agentic-tp4-spf-extra.yaml:53-54 repeats the args just below it (shortest-prefill-first, prefill-decode-interval: 32, tensor-parallel-size: 4, KV_OFFLOADING: dram). It then adds a sweep-plan note about where these points sit on the curve. agentic-tp4-spf.yaml has the same first sentence, but that file is not part of this change and does not make the rule optional. Leaving this in brings a new rule violation into the repo. It does not affect runtime behavior.

Verification: In agentic-tp4-spf-extra.yaml, lines 53-54 sit above zip_override_tp4_dram_spf_interval32. The first line repeats the override's own args. The second line says where the points sit in the sweep plan. It gives no technical reason for any value. AGENTS.md:56 says "No header comments describing a file, topology, config, recipe, override, or section." Nothing breaks at runtime.

@ispobock ispobock added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

@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 Nov 2, 2026
@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 Nov 2, 2026
@nvpohanh

nvpohanh commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

[by Claude Code] The SGLang cookbook integration of this PR's AgentX config (minimaxm31flash-fp4-b300-sglang-agentic-dspark) will happen in sgl-project/sglang#47929, 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 (0979dfd84) 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 Nov 2, 2026
@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 Nov 2, 2026
@nvpohanh

nvpohanh commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

[by Claude Code] sgl-project/sglang#47929 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 (0979dfd84) as "in progress". A later cookbook PR switches it to the measured run once a run is pinned or this PR merges.

…sglang-fill-points

# 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 Nov 3, 2026
…sglang-fill-points

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

ispobock commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

/use 41488743791

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

@ispobock staged run 41488743791.

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

@Oseltamivir

Copy link
Copy Markdown
Collaborator

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

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

❌❌❌ REJECTED ❌❌❌

⚠️ Pareto coverage needs additional review. At least 5 points per affected throughput-versus-E2EL frontier are highly recommended. Below 5, or when coverage cannot be verified, merge only with an explicit, recorded admin bypass for the assessed commit; this advisory comment does not grant or enforce a bypass.

@Oseltamivir this sign-off cannot be accepted. The comment contains only the intro line, with no checklist items, links, additional detail section, or signature. Also, no eval ran on any commit in this PR, and the sign-off links no upstream recipe.

❌ Check 1 (Sweep + evals on in-PR commit): FAIL — No passing sweep/eval was found on any commit in this PR. Every eval / and agentic eval / check-run was skipped on all 12 in-PR commits, because append-only changelog entries generate no evals. The benchmark-only run 41488743791 on ab42462 had all 8 new agentic / points green, but no eval. Separately, the later merges 54d0a46/b3a2817 bump utils/srt-slurm (59920ea -> 96f1111) and change the srt launch path. Whether that run's evidence is still current was not verified.

❌ Check 2 (Evals pass): FAIL — Evals were skipped. No eval job executed on any in-PR commit, so there are no eval results to check for image, accuracy against peers, or coverage of the changed path.

❌ Check 3 (Upstream recipe): FAIL — The sign-off has no additional detail section and links no merged upstream recipe PR or published cookbook page. An upstream PR, sgl-project/sglang#47929, is MERGED (2026-11-03T03:28Z), but it was synced at this PR's 0979dfd8, before the TP2 c52 mem-fraction-0.93 point was added back in ab42462. Link it in the sign-off and confirm it covers every new variant.

❌ Check 5 (Latest checklist template): FAIL — The sign-off is missing every item of the current PR_REVIEW_CHECKLIST.md template: all 20 checklist items, the additional detail section, and the signature. Only the opening sentence was posted.

⚠️ Check 13 (Draft precision): WARN — Draft precision could not be verified for minimaxm31flash-fp4-b300-sglang-agentic-dspark (agentic-tp2-spf-extra.yaml, agentic-tp4-spf-extra.yaml). The sign-off records no draft evidence. The recipes set speculative-draft-kv-cache-dtype: fp8_e4m3, and the recipe comment ("bf16 costs ~10 GB of HBM per rank") suggests this is lower than the default. Meanwhile the target kv-cache-dtype is unset (auto). The pinned image's default draft-KV dtype, the target's effective KV dtype, and the DSpark draft weight precision still need checking; human review is needed. SGLANG_NVFP4_CKPT_FP8_NEXTN_MOE is not set in the recipes or in the worker environment logged by run 41488743791.

⚠️ Check 14 (Pareto coverage): WARN — Curve MiniMax-M3.1-Flash / agentic-coding / b300_sglang / fp4 / P90: the full curve count could not be verified. The 8 new points from run 41488743791 (artifacts bmk_agentic_*, source ab42462) form an 8/8 frontier on their own, per pareto_coverage: p90 E2EL 5.44-23.22 s, 28.9k-137.4k tok/s/GPU. Artifacts for the 35 existing same-image points were not checked, so the combined frontier was not computed. No admin bypass was requested; admin bypass not verified.

Passed and not applicable checks

✅ Check 0 (CODEOWNER): PASS — Oseltamivir is listed in CODEOWNERS (collectivex/) and has repository admin permission. Every changed path is owned by NVIDIA owners plus @SemiAnalysisAI/core (nvidia-master.yaml, srt-slurm-recipes/**/b300-*/) or by the catch-all.

✅ Check 4 (Reuse command): PASS — ispobock (COLLABORATOR) posted /use 41488743791. That run is on in-PR commit ab42462.

✅ Check 6 (Upstream images): PASS — The image is upstream lmsysorg/sglang:dev-minimax-m31-flash@sha256:614b15..., the same image as the existing curve. Only SGLang entries were added, so the engine-first rule does not apply. MiniMax-M3.1-Flash is a new model (added 2026-10-23), so a temporary model-enablement image is allowed.

✅ Check 7 (Deprecated models/scenarios): PASS — Per MODELS.md, minimaxm31flash agentic coding is active.

✅ Check 8 (No architecture hacks): PASS — There are no --hf-overrides or model edits, and no accuracy-trading levers. This is an NVIDIA SGLang path with no integer all-reduce controls.

✅ Check 9 (Spec-decode chat template): PASS — AgentX replays the traced chat conversations through agentx profile. Acceptance is simulated at the golden AL, which was collected with the chat-template renderer.

✅ Check 10 (No engine patches): PASS — The new recipes have no setup script, patch, or source edit, and no reachable patching.

✅ Check 11 (Golden simulated AL): PASS — The launcher injects SGLANG_SIMULATE_ACC_LEN=4.04 with match-expected/real-draft-token (job log, run 41488743791). This equals minimaxm31flash_dspark.yaml thinking_on at 7 draft tokens.

✅ Check 12 (Append-only): PASS — There is one append-only entry. The PR adds only new recipe files and 8 new search-space rows (35 -> 43 points, no removals). Each new row selects only its own new override, and existing recipes are unchanged.

➖ Check 15 (PR description): N/A — The description's claims match the pinned recipes (TP4 HiCache 290 at c20/44/52/60, TP4 c16 without offload, TP2 HiCache 370 at c44, TP2 mem-fraction 0.93 interval 20 at c50/52).

✅ Check 16 (NVIDIA overview): PASS — The NVIDIA overview lists MiniMax-M3.1-Flash with SGLang.

➖ Check 17 (Metrics publication): N/A — These are direct SGLang configs, with no Dynamo TRT-LLM settings.

✅ Check 18 (Recipe/image/sweep consistency): PASS — Every CONFIG_FILE override generates, and there are no generation errors. GPU counts, TP, and concurrency agree with max-running-requests (2x conc). No new image is referenced. The changelog entry is accurate, and no points were removed.

Assessed commit: 04a5e36723063317059c09c9a744fb7ec54cc8cf.

@Oseltamivir
Oseltamivir merged commit 7e76207 into main Nov 3, 2026
33 checks passed
@Oseltamivir
Oseltamivir deleted the minimaxm31flash-b300-sglang-fill-points branch November 3, 2026 10:43
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Ingest report — ✅ Results ingested into the production database.

Ingest workflow · Merge Ingest run · Benchmark source run

Category new duplicate skipped unmapped failed
benchmark 8 0 0 0 0
eval 0 0 0 0 0
trace 8 0 0 0 0
power 8 0 0 0 0

benchmarkFiles 8, rawBenchmarkRows 8, coveredByPerJobFiles 0, purgedPoints 0, failedRunRows 0, runStatsNew 0, runStatsDuplicate 0, evalSamplesNew 0, gpuMetricSamplesNew 164952, powerPublicationPoints 8, changelogEntriesWritten 1

Counts cover only this run. Rows: benchmark_results, eval_results, agentic rows linked to a trace, gpu_metrics series. This comment updates if the ingest is rerun.

中文

Ingest 报告 — ✅ 结果已写入 production 数据库。

上表仅统计本次运行写入的数据,各行单位依次为 benchmark_results 行、eval_results 行、已关联 trace 的 agentic 行和 gpu_metrics 序列。重新运行 ingest 时本评论会原地更新。

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: Done

Development

Successfully merging this pull request may close these issues.

3 participants