Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
#!/usr/bin/env bash

# MiniMax-M3 MXFP8 MI355X (gfx950) single-node vLLM recipe with EAGLE3

Check warning on line 3 in benchmarks/single_node/fixed_seq_len/minimaxm3_fp8_mi355x_mtp.sh

View check run for this annotation

Claude / Claude Code Review

PR title and body missing Chinese translations

PR title and description are English-only, but AGENTS.md line 7 requires bilingual metadata on every PR — title format `<English title> / <中文标题>` and a `## 中文说明` section (or equivalent) mirroring the body. Please amend the title to append a Simplified Chinese translation after `/` and add a `## 中文说明` section to the description summarizing the change (e.g. pinning the EAGLE3 drafter attention backend to TRITON_ATTN for a throughput win).
Comment thread
hongxiayang marked this conversation as resolved.
# speculative decoding — the spec-decoding=mtp variant of
# minimaxm3_fp8_mi355x.sh. Adds the Inferact/MiniMax-M3-EAGLE3 draft head via
# --speculative-config with 3 speculative tokens. Everything else mirrors the
# non-MTP recipe: MXFP8 from TP=4 on gfx950, mandatory --block-size 128,
# --language-model-only for the text-only benchmark, FP8 KV cache, and
# --attention-backend TRITON_ATTN. Runs with CUDA graphs (no --enforce-eager);
# VLLM_USE_BREAKABLE_CUDAGRAPH=0 avoids the M3-decode breakable-cudagraph path.
# --speculative-config with 3 speculative tokens.
#
# Unlike the CUDA recipes, the drafter needs no attention_backend override:
# the FlashInfer "page size 128 requires GQA/MQA" limitation that forced
# FLASH_ATTN for the EAGLE3 MHA head on Blackwell is FlashInfer/CUDA-specific.
# Here the whole server runs on TRITON_ATTN (set globally below), which serves
# the MHA draft fine.
# The EAGLE3 drafter (dense Llama MHA head) is pinned to TRITON_ATTN in the
# speculative-config, otherwise it would fallback to a slow default backend.
# Adding the explicit override left the draft's token acceptance unchanged but
# sped up the draft forward enough to turn into a win across the board.
#
# [AI generated draft test] The shipped vllm/vllm-openai-rocm:minimax-m3 image
# does NOT implement SupportsEagle3 on the AMD MiniMax-M3 model, so EAGLE3
Expand Down Expand Up @@ -197,7 +192,7 @@
--kv-cache-dtype fp8 \
--attention-backend TRITON_ATTN \
--linear-backend emulation \
--speculative-config "{\"method\": \"eagle3\", \"model\": \"$DRAFT_MODEL\", \"num_speculative_tokens\": $NUM_SPEC_TOKENS}" \
--speculative-config "{\"method\": \"eagle3\", \"model\": \"$DRAFT_MODEL\", \"num_speculative_tokens\": $NUM_SPEC_TOKENS, \"attention_backend\": \"TRITON_ATTN\"}" \
--tool-call-parser minimax_m3 \
--reasoning-parser minimax_m3 \
--enable-auto-tool-choice > "$SERVER_LOG" 2>&1 &
Expand Down
7 changes: 7 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4574,3 +4574,10 @@
description:
- "Add high concurrency configs"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1994

- config-keys:
- minimaxm3-fp8-mi355x-vllm-mtp
description:
- "Pin the EAGLE3 drafter to TRITON_ATTN via the speculative-config attention_backend override (and otherwise falls to a slow default backend)"

Check warning on line 4581 in perf-changelog.yaml

View check run for this annotation

Claude / Claude Code Review

Changelog description has broken grammar

The changelog description reads ungrammatically: "Pin the EAGLE3 drafter to TRITON_ATTN via the speculative-config attention_backend override (and otherwise falls to a slow default backend)". The parenthetical has no clear subject (it grafts onto 'Pin the EAGLE3 drafter', so it reads as 'Pin ... otherwise falls to...') and 'falls to' should be 'falls back to'. Suggested rewrite: "Pin the EAGLE3 drafter to TRITON_ATTN via the speculative-config attention_backend override; without it the drafter f
Comment thread
hongxiayang marked this conversation as resolved.
Outdated
- "Speeds up the draft forward measured on MI355X TP4 MXFP8, 8k/1k throughput gains growing with concurrency vs no override."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2107