Skip to content

[Test] minimax-m3.1: Add nightly e2e tests on H200 and B300 - #46627

Merged
ispobock merged 6 commits into
mainfrom
m31-nightly-e2e
Oct 30, 2026
Merged

ispobock merged 6 commits into
mainfrom
m31-nightly-e2e

Conversation

@ispobock

@ispobock ispobock commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

MiniMax-M3.1-Flash has unit and kernel tests but no end-to-end test, so a change to a shared path can break the served model without turning any test red. This adds two nightly tests on the cookbook recipes, and installs the MSA kernels on Blackwell CI runners, which the model imports at startup there.

Modifications

  • test_minimax_m31_flash_h200.py (nightly, 8-gpu-h200): the H200 balanced recipe (TP8; Marlin W4A16 experts, no MSA) with DSpark and block verification. It checks GSM8K and the DSpark accept length.
  • test_minimax_m31_flash_gb300.py (nightly, 4-gpu-gb300): the B300 balanced recipe (TP4; TRT-LLM NVFP4 MoE, MSA, DSpark) with HiCache write-through to the file storage backend. It checks GSM8K and the DSpark accept length, then reloads a long prefix from storage after /flush_cache and checks that the greedy output matches the GPU-cached one.
  • ci_install_dependency.sh: on Blackwell, install MSA at the MSA_COMMIT of docker/Dockerfile.cu134, editable and with its submodules as the Dockerfile does, cached per commit under ~/.cache/sglang-ci/minimax-msa behind a flock, since runner containers on one host share ~/.cache.

Verification

Both tests run against MiniMaxAI/MiniMax-M3.1-Flash at main 316ff4d; sgl-eval GSM8K, 1319 examples, temperature 1.0, top_p 0.95, max_tokens 8192.

Test Hardware GSM8K Accept length
H200 8x H200 0.9575, 0.9591 3.87, 4.19
GB300 4x B300, MSA 1e7bf76 0.961, 0.961, 0.955 4.22, 4.18, 4.15

The thresholds are 0.93 (both) and an accept length of 3.4 (H200) and 3.8 (GB300). The first H200 number was measured with the same flags on main with #46868 applied, before it merged; the second is this PR's CI run (https://github.com/sgl-project/sglang/actions/runs/40914892470).

On the B300 node, MSA was installed by the same steps as the new install_msa; the script itself first runs on this PR's Blackwell CI jobs. Runs of the storage-reload case on three prompts, with and without DSpark, matched the GPU-cached output every time, and the full test including it passed (the third row). On a GB300 CI runner the Blackwell test passed with GSM8K 0.9560 and accept length 4.13 (https://github.com/sgl-project/sglang/actions/runs/40910557761).


CI States

Latest PR Test (Base): 🚫 Run #40914358042
Latest PR Test (Extra): ❌ Run #40914358093
Latest PR Test (AMD ROCm 10): 🚫 Run #40914357728

@ispobock ispobock added the run-ci CI: run the baseline test suite on this PR label Oct 27, 2026
@ispobock

Copy link
Copy Markdown
Collaborator Author

/rerun-test test/registered/e2e/models_large/test_minimax_m31_flash_h200.py test/registered/e2e/models_large/test_minimax_m31_flash_b300.py

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

🚀 8-gpu-h200 (1 test): ✅ View workflow run

cd test/ && python3 registered/e2e/models_large/test_minimax_m31_flash_h200.py

🚀 8-gpu-b300 (1 test): ❌ View workflow run

cd test/ && python3 registered/e2e/models_large/test_minimax_m31_flash_b300.py

@ispobock

Copy link
Copy Markdown
Collaborator Author

/rerun-test test/registered/e2e/models_large/test_minimax_m31_flash_h200.py test/registered/e2e/models_large/test_minimax_m31_flash_b300.py

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

🚀 8-gpu-h200 (1 test): ✅ View workflow run

cd test/ && python3 registered/e2e/models_large/test_minimax_m31_flash_h200.py

⛔ test/registered/e2e/models_large/test_minimax_m31_flash_b300.py: File not found: test/registered/e2e/models_large/test_minimax_m31_flash_b300.py

@ispobock

Copy link
Copy Markdown
Collaborator Author

/rerun-test test/registered/e2e/models_large/test_minimax_m31_flash_gb300.py

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

🚀 4-gpu-gb300 (1 test): ✅ View workflow run

cd test/ && python3 registered/e2e/models_large/test_minimax_m31_flash_gb300.py

@ispobock

Copy link
Copy Markdown
Collaborator Author

/rerun-test test/registered/e2e/models_large/test_minimax_m31_flash_h200.py

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

🚀 8-gpu-h200 (1 test): ✅ View workflow run

cd test/ && python3 registered/e2e/models_large/test_minimax_m31_flash_h200.py

@ispobock
ispobock merged commit 0d01c3c into main Oct 30, 2026
188 of 202 checks passed
@ispobock
ispobock deleted the m31-nightly-e2e branch October 30, 2026 03:42
Yuxingwang-intel pushed a commit to Yuxingwang-intel/sglang that referenced this pull request Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-ci CI: run the baseline test suite on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant