Skip to content

[ROCm] Fix MiniMax-M3 EAGLE draft backend recipe - #740

Open
tuukkjs wants to merge 1 commit into
vllm-project:mainfrom
tuukkjs:fix/minimax-m3-rocm-eagle-attn
Open

[ROCm] Fix MiniMax-M3 EAGLE draft backend recipe#740
tuukkjs wants to merge 1 commit into
vllm-project:mainfrom
tuukkjs:fix/minimax-m3-rocm-eagle-attn

Conversation

@tuukkjs

@tuukkjs tuukkjs commented Aug 4, 2026

Copy link
Copy Markdown

Fix MiniMax-M3 ROCm EAGLE draft attention backend recipe.

Update the MiniMax-M3 recipe so AMD ROCm EAGLE3 speculative decoding uses TRITON_ATTN for the draft model attention backend. Keep the default CUDA/NVIDIA EAGLE3 draft backend as FLASH_ATTN.

AI assistance was used for this PR.

Motivation

The MI355X MiniMax-M3 MXFP8 recipe already selects TRITON_ATTN for the target model on ROCm, but the EAGLE3 speculative_config still selected FLASH_ATTN for the draft model:

vllm serve MiniMaxAI/MiniMax-M3-MXFP8 \
  --block-size 128 \
  --attention-backend TRITON_ATTN \
  --tensor-parallel-size 8 \
  --tool-call-parser minimax_m3 \
  --enable-auto-tool-choice \
  --reasoning-parser minimax_m3 \
  --speculative-config '{"method": "eagle3", "model": "Inferact/MiniMax-M3-EAGLE3", "num_speculative_tokens": 3, "attention_backend": "FLASH_ATTN"}'

On ROCm, that draft backend selection failed during EAGLE/drafter startup:

AssertionError: FlashAttention version not detected.

Using TRITON_ATTN for the EAGLE draft backend allowed the same ROCm setup to start successfully:

vllm serve MiniMaxAI/MiniMax-M3-MXFP8 \
  --block-size 128 \
  --attention-backend TRITON_ATTN \
  --tensor-parallel-size 8 \
  --tool-call-parser minimax_m3 \
  --enable-auto-tool-choice \
  --reasoning-parser minimax_m3 \
  --speculative-config '{"method": "eagle3", "model": "Inferact/MiniMax-M3-EAGLE3", "num_speculative_tokens": 3, "attention_backend": "TRITON_ATTN"}'

Validation

  • Runtime startup probes on MI355X with vllm/vllm-openai-rocm:nightly-cb8104839c141609d99f1254459ef3a4f1bd4263
  • Ran the documented recipe generator:
docker run --rm -v "$PWD":/work -w /work node:24-bookworm bash -lc 'corepack enable && pnpm install --frozen-lockfile && node scripts/build-recipes-api.mjs'

Result:

✓ JSON API: 153 models (130 with recommended_command, 670 default-hw alternatives, 1206 per-hw renderings), 139 promoted variants, 9 strategies, 2 kv-store deployments, 2 platforms (2 variant collisions skipped)
  • Synthesized the MI355X + MXFP8 + EAGLE3 command and confirmed the draft speculative_config now uses TRITON_ATTN.
  • Synthesized the B200 + NVFP4 + EAGLE3 command and confirmed the draft speculative_config still uses FLASH_ATTN.

Use the validated Triton attention backend for AMD EAGLE draft configs while keeping CUDA defaults on FlashAttention.

Signed-off-by: Tuukka Sarvi <tuukka.sarvi@amd.com>
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vllm-recipes Ready Ready Preview Aug 4, 2026 10:02am

Request Review

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request adds AMD hardware overrides for the eagle3 and eagle3_gqa speculative decoding configurations in models/MiniMaxAI/MiniMax-M3.yaml, switching the attention backend from FLASH_ATTN to TRITON_ATTN. There are no review comments, and I have no feedback to provide.

@tuukkjs tuukkjs changed the title [ROCm] Fix MiniMax-M3 EAGLE draft backend [ROCm] Fix MiniMax-M3 EAGLE draft backend recipe Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant