Repository navigation
[ROCm][Perf] Call aiter.paged_mqa_logits for the sparse indexer decode logits - #60042
Draft
amd-sriram wants to merge 3 commits into
Draft
amd-sriram wants to merge 3 commits into
amd-sriram wants to merge 3 commits into
Conversation
This was referenced Oct 5, 2026
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
AITER picks Gluon or FlyDSL and their knobs from its tuned table. Falls back to the Gluon call when AITER predates the op. Signed-off-by: Sriram Kumar <sriramkumar.kishorekumar@amd.com>
Signed-off-by: Sriram Kumar <sriramkumar.kishorekumar@amd.com>
aiter.paged_mqa_logits takes one length per sequence, like the deepgemm kernels vllm-project#59420 fixed. Route the (B, next_n) table through _per_sequence_context_lens on this path too. Signed-off-by: build <build@local>
amd-sriram
force-pushed
the
rocm/aiter-paged-mqa-logits
branch
from
October 14, 2026 01:32
a2872b1 to
ff88051
Compare
6 tasks done
This branch has not been deployed
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
Review feedback on #59422: vLLM should ask AITER for paged MQA logits and let AITER pick the kernel, instead of carrying a Gluon/FlyDSL switch that changes every time one of the kernels improves. This calls AITER's
paged_mqa_logits(from aiter.paged_mqa_logits import paged_mqa_logits, imported lazily likeaiter.fused_moe) for the sparse indexer decode logits on gfx942/gfx950. AITER picks Gluon or FlyDSL, and their launch knobs, from its tuned table (ROCm/aiter#6140), the same model as its fused-MoE dispatch.vLLM passes the same tensors it passes to the Gluon kernel today and no backend knobs (
ChunkK,WavePerEU,SplitKV). When the installed AITER has noaiter.paged_mqa_logitsmodule, the existing Gluon call runs unchanged, so this is a no-op until vLLM's AITER pin includes the op.Dependency
ROCm/aiter#6140 (
aiter/paged_mqa_logits.py, its tuned table and tuner).Details
(B, next_n)seq_lenstable is passed through as-is:aiter.paged_mqa_logitstakes[B]or[B, next_n]and reduces to one length per sequence itself, so this path does not need [ROCm][Bugfix] Pass per-sequence context lengths to the AITER paged MQA-logits kernels #59420.Test Plan
pytest tests/v1/attention/test_rocm_aiter_paged_mqa_logits.py(new): the AITER op gets the caller's tensors, the 2Dseq_lensand onlyPreshuffle/KVBlockSize; the Gluon call runs when AITER lacks the op.rocm_fp8_paged_mqa_logitswith the 2Dseq_lenstable, against the torch reference, with [HIP] [FlyDSL] [CI] Add aiter.paged_mqa_logits with a tuned Gluon/FlyDSL table ROCm/aiter#6140 installed. Shapes picked to hit both backends in the tuned table.Test Result
AITER_LOG_TUNED_CONFIG=1shows the pick):next_n1..8): the tuned pick vs the GluonChunkK=256, WavePerEU=2this file passes today is -10.8% geomean at 8k context and -17.1% at 32k; FlyDSL is picked on 16 of 72 shapes, all at batch >= 32.