Repository navigation
[AgentX] MiniMax-M3.1-Flash GB300 SGLang: add more TP2 configs / [AgentX] MiniMax-M3.1-Flash GB300 SGLang:补充 TP2 配置 #4525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
8292005
Add TP2 DRAM-offload points to MiniMax-M3.1-Flash GB300 SGLang AgentX…
ispobock ba5e516
fix pr link
ispobock a2d6b76
Add the points to the existing curve with append-only
ispobock ac947f7
Merge remote-tracking branch 'origin/main' into minimaxm31flash-gb300…
ispobock 200eae2
drop restating comments
ispobock 7b8b9df
Merge branch 'main' into minimaxm31flash-gb300-sglang-agentx-tp2
Oseltamivir File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
70 changes: 70 additions & 0 deletions
70
...marks/single_node/srt-slurm-recipes/minimaxm31flash/sglang/gb300-fp4-mtp/agentic-tp2.yaml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| base: | ||
| schema: 2 | ||
| name: minimaxm31flash-fp4-gb300-sglang-agentic-tp2 | ||
| resources: | ||
| gpu_type: gb300 | ||
| gpus_per_node: 4 | ||
| frontend: | ||
| type: sglang | ||
| enable_multiple_frontends: false | ||
| observability: | ||
| enabled: false | ||
| tachometer: | ||
| enabled: false | ||
| engine: sglang | ||
| # Cold loads of the 250 GB checkpoint plus JIT MSA kernel builds and graph capture outlast the default. | ||
| health_check: | ||
| max_attempts: 1440 | ||
| interval_seconds: 5 | ||
| roles: | ||
| agg: | ||
| nodes: 1 | ||
| workers: 1 | ||
| gpus: 2 | ||
| # Serve flags follow the cookbook's GB300 cells at | ||
| # https://docs.sglang.io/cookbook/autoregressive/MiniMax/MiniMax-M3.1. | ||
| args: | ||
| served-model-name: MiniMaxAI/MiniMax-M3.1-Flash | ||
| trust-remote-code: true | ||
| reasoning-parser: minimax-m3 | ||
| tool-call-parser: minimax-m3 | ||
| # Seven-token DSpark, the bundled draft's dspark_block_size. Throughput runs | ||
| # switch to synthetic acceptance at the golden acceptance length. | ||
| speculative-algorithm: DSPARK | ||
| speculative-dspark-block-size: 7 | ||
| speculative-use-block-verification: true | ||
| cuda-graph-backend-prefill: breakable | ||
| tokenizer-worker-num: 8 | ||
| watchdog-timeout: 3600 | ||
| enable-metrics: true | ||
| env: | ||
| PYTHONNOUSERSITE: '1' | ||
| PYTHONUNBUFFERED: '1' | ||
| SGLANG_TIMEOUT_KEEP_ALIVE: '1800' | ||
| FMHA_SM100_ALLOW_JIT: '1' | ||
| benchmark: | ||
| env: | ||
| # Warmup can leave bytes unacknowledged past AIPerf's 30 s default. | ||
| AIPERF_HTTP_TCP_USER_TIMEOUT: '900000' | ||
| AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:' | ||
|
|
||
| # TP2 with L2 HiCache (write_back, 180 GB per rank). The scheduler batch is 2x CONC; | ||
| # 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: [40, 48, 56, 72] | ||
| cuda-graph-max-bs-decode: [40, 48, 56, 72] | ||
| mem-fraction-static: 0.87 | ||
| enable-hierarchical-cache: true | ||
| hicache-size: 180 | ||
| hicache-write-policy: write_back | ||
| benchmark: | ||
| env: | ||
| CONC: ['20', '24', '28', '36'] | ||
| KV_OFFLOADING: dram |
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 (optional) The new TP2 points (conc 20-36) get their own config key and changelog entry. Readers then see a separate result set, not more points on the existing GB300 SGLang TP2 curve (conc 32-44). CONTRIBUTING.md says a PR that only adds points to an existing curve should add them to the existing key and mark the changelog entry
append-only: true. That route already sweeps only the new points, so a separate key is not needed to avoid re-running the old ones. Fix: add this TP2 row tominimaxm31flash-fp4-gb300-sglang-agentic-dspark(dram-utilization 0.80 scenario) and putzip_override_tp2_hicacheinagentic.yamlas another override. Then list that key in the changelog block withappend-only: true.Why this was flagged
The PR description says these points sit alongside the TP2 points from #4511. Those points live under
minimaxm31flash-fp4-gb300-sglang-agentic-dspark(nvidia-master.yaml:8957, conc 32/40/44, same image, same hicache 180 GB, same mem-fraction 0.87). The diff instead adds a new key,minimaxm31flash-fp4-gb300-sglang-agentic-dspark-tp2(nvidia-master.yaml:8962), and a new non-append-only changelog block (perf-changelog.yaml:11208). The block's stated reason is to avoid re-sweeping the existing points. CONTRIBUTING.md:172-186 describesappend-only: trueas the mechanism for exactly this case. It runs only the generated set difference and lets InferenceX-app extend the most recent matching curve, rather than show the partial run as a separate curve. With the separate key, conc 20-36 is published as its own config and TP2 data is split across two keys. Folding the new points into the existing key would keep TP2 as one curve.Verification: Trigger: the PR merges with the new key and a regular (not append-only) changelog block, so its sweep is ingested as its own run. The new changelog block (perf-changelog.yaml:11208-11213) has no
append-only. Because the app gets no append-only metadata, it will show this partial TP2-only run as a separate curve instead of extending the existing one.