Repository navigation
Conversation
Assisted-by: OpenAI Codex Signed-off-by: Shreyas Misra <shreyasm@nvidia.com>
NVShreyas
requested review from
AndreasKaratzas,
LucasWilkinson,
MatthewBonanni,
ProExpertProg,
WoosukKwon,
houseroad,
mgoin,
robertgshaw2-redhat,
tlrmchlsmth,
yewentao256,
youkaichao and
zyongye
as code owners
September 11, 2026 15:19
7 tasks done
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
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
Add a FlashInfer MSA decode backend for MiniMax M3 on SM100/GB200. The new
backend consumes vLLM's packed FP8 K/V cache and compact token-major top-k
indices directly, writes into vLLM-owned output and LSE buffers, and supports
CUDA graph capture and replay without per-step K/V or top-k materialization.
The backend is selectable through
minimax_m3_msa_decode_backend="flashinfer"or the
FLASHINFER_MSAattention-backend alias. Unsupported geometry and cachedtypes retain the existing backend behavior.
This backend is also a prerequisite for enabling DCP for MiniMax M3 on GB200.
The DCP integration itself remains separate from this PR.
Dependency
Do not merge this PR before
flashinfer-ai/flashinfer#5094.
That PR provides the packed-FP8 paged MSA kernel, token-major top-k support, and
caller-owned
out/lse_outAPI used here.Duplicate-work check
This does not duplicate
vllm-project/vllm#48994.
That PR targets the SM120/SM121 consumer-Blackwell path and couples a
FlashInfer indexer with its attention implementation. This PR targets the
existing SM100/GB200 NVIDIA MSA path, preserves the current indexer, and adds a
direct packed-FP8 decode integration for the kernel introduced by FlashInfer
#5094.
AI assistance was used to implement, test, and prepare this change. The human
submitter reviewed the changed code and validation results.
Test Plan
implementation and a direct PyTorch sparse-attention reference on GB200.
LSE buffers.
CUTLASS MSA.
Test Result
Correctness and CUDA graphs
pre-commit run: passed all staged-file hooks, including ruff, mypy, SPDX,forbidden-import, configuration-default, and sign-off checks.
outandlse_outbuffers.
GB200 performance
Both runs used the same immutable image, MiniMax-M3-NVFP4 model, TP4/K=3,
FULL_AND_PIECEWISECUDA graphs, local argmax, four GB200 GPUs, and the same1,000-request Mooncake trace with 64K-class inputs, 400 OSL, and 90% prefix
reuse.
Essential Elements of an Effective PR Description Checklist
requires no supported-model-list change.