[CI][AMD][Disagg] Fix Kimi K2.5/K2.6 MXFP4 MLA backends on ROCm nightly for accuracy eval (disable aiter OPUS FMHA) - #51976
Open
avininjamay8 wants to merge 1 commit into
Conversation
Use TRITON MLA decode with AITER_DISABLE_FMHA_OPUS=1 so ROCm MLA prefill falls back to v3/CK fmha instead of the broken OPUS kernel on nightly. For K2.6, drop VLLM_ROCM_USE_AITER_MLA and use block-size 16. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
@lcskrishna please review. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Purpose
Kimi K2.5/K2.6 MXFP4 disaggregated GSM8K on
vllm/vllm-openai-rocm:nightlywas failing on several MLA backends:ROCM_AITER_MLA(andVLLM_ROCM_USE_AITER_MLA=1on K2.6) — prefill / bring-up failures under load.ROCM_AITER_TRITON_MLA— health gate failed at engine init.TRITON_MLAonly — health passed, but GSM8K then failed at MLA prefill with HTTP 500 andfmha_fwd_bf16_opus_fwdTypeError.With
--attention-backend TRITON_MLA, vLLM uses Triton MLA for decode only. On ROCm, MLA prefill is selected separately and defaults toROCM_AITER_FA, which calls amd-aiter's fused multi-head attention (FMHA) kernels. On nightly (aiter 0.1.19), that prefill path picks the OPUS FMHA kernel (fmha_fwd_bf16_opus_*), which is broken and triggers the TypeError above.We therefore use TRITON MLA for decode, keep
ROCM_AITER_FAfor MLA prefill, and setAITER_DISABLE_FMHA_OPUS=1so aiter skips OPUS and uses its olderfmha_v3/ Composable Kernel (CK) FMHA implementation instead.For K2.6, this stack also needs
--block-size 16— with--block-size 1, nightly failed health withmla_gluon[bh16bn128] requires batch_size=1, got 512.Changes
AITER_DISABLE_FMHA_OPUS: "1"toenv; add--attention-backend TRITON_MLAtobase_flags.VLLM_ROCM_USE_AITER_MLAfromenv; addAITER_DISABLE_FMHA_OPUS: "1"; TRITON MLA decode and--block-size 16(keep existing K2.6fp8KV andmm-encoder-tp-mode dataflags).Test Plan
MoRIIO 1P1D TP8 disaggregated serving,
ROUTER_TYPE=proxy,RUN_AFTER_HEALTH=accuracy, imagevllm/vllm-openai-rocm:nightly.Kimi-K2.5-MXFP4 — TP8 1P1D
Set
AITER_DISABLE_FMHA_OPUS=1in the prefill/decode environment before launch.Kimi-K2.6-MXFP4 — TP8 1P1D
Set
AITER_DISABLE_FMHA_OPUS=1in the prefill/decode environment before launch.GSM8K evaluation
lm_eval --model local-completions \ --tasks gsm8k \ --model_args "model=/data/models2/Kimi-K2.5-MXFP4,base_url=http://127.0.0.1:10001/v1/completions,num_concurrent=16,max_retries=3,tokenized_requests=False,trust_remote_code=True,timeout=7200" \ --limit 250Use the K2.6 model path the same way.
Test Result
Accuracy results (GSM8K, flexible-extract, limit 250)
Verified on
vllm/vllm-openai-rocm:nightly(0.26.1rc1.dev602+g65b7662d3, aiter 0.1.19, Aug 11 2026).ROCM_AITER_TRITON_MLA(init) orTRITON_MLAonly (aiter OPUS FMHA / eval)ROCM_AITER_MLA/ROCM_AITER_TRITON_MLA(init) orTRITON_MLAonly (aiter OPUS FMHA / eval)