[None][feat] support FP8 KV cache in PrimTS MLA decode - #18946
Draft
yuxianq wants to merge 2 commits into
Draft
Conversation
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
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.
@coderabbitai summary
Description
Enable dense FP8 E4M3 MLA decode in
PrimsTSFmhaon SM100/SM103 using the existing vendored kernels.quant_q_bufferand the BMM scales already produced by MLA preprocessing; keep the module-facing query and output BF16 and avoid re-quantizing Q.kv_cache_block_offsets.shape[-1] * tokens_per_block) is below 128 tokens, which the vendored 1-CTA planner does not support. This is the wrapper plan's maximum KV length, not the live request length or the total shared KV-cache pool capacity.FP8 standard attention, sparse/speculative MLA, quantized output, and vendor changes are not included.
Test Coverage
KVCacheManagerConfigdoes not accept main'sreuse_match_backoffargument. They need a current build/CI run. Full-model and distributed TP/DP runs have not been performed; head-count tests are per-rank shape coverage.git diff --check, and pre-commit checks passed.The worktree-local CUTLASS installation adds its
base_dsldirectory tosys.path. Local tests pre-import the attention package and explicitly declare that third-party path through pytest'spythonpathoption to satisfy the repository's import-path check.PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why.
PR follows the TRT-LLM coding guidelines.
Tests cover the new code paths.
No public API changes or new dependencies.
No ownership or significant architecture changes.
Documentation updated as needed.
Reviewers are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.