[None][fix] Unwaive supported attention backend cases#15838
Conversation
📝 WalkthroughWalkthroughRemoves a missing-kernel gating mechanism from trtllm-gen MLA generation support, adjusts KV cache metadata unpacking, narrows an SM90 workaround to context-request cases in TrtllmAttention, and updates test harness capability gating and MLA context test input/RoPE generation logic accordingly. ChangesMLA generation support and attention forward changes
Estimated code review effort: 3 (Moderate) | ~25 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/unittest/_torch/attention/backend_capability.py`:
- Around line 187-200: The SM90/TRTLLM skip in backend_capability is too broad
because it catches no-cache cases as well as paged-cache cases. Tighten the
unsupported_reason() predicate by adding a cache check (only skip when the case
uses paged cache) while keeping the existing SM90, fp8 KV, head-shape, and
mixed-context conditions in place. Use the existing symbols unsupported_reason,
case.kv_dtype, case.num_heads, case.num_kv_heads, and case.num_contexts to
locate and adjust the gate.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: ac2f1836-0245-44ae-abd9-8d996b7f1a4b
📒 Files selected for processing (4)
tensorrt_llm/_torch/attention_backend/fmha/flashinfer_trtllm_gen.pytensorrt_llm/_torch/attention_backend/trtllm.pytests/unittest/_torch/attention/backend_capability.pytests/unittest/_torch/attention/backend_case.py
|
/bot run --disable-fail-fast |
|
PR_Github #56940 [ run ] triggered by Bot. Commit: |
|
/bot run --disable-fail-fast |
|
PR_Github #56952 [ run ] triggered by Bot. Commit: |
|
PR_Github #56940 [ run ] completed with state |
|
PR_Github #56952 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #57056 [ run ] triggered by Bot. Commit: |
|
PR_Github #57056 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #57322 [ run ] triggered by Bot. Commit: |
|
PR_Github #57322 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #57384 [ run ] triggered by Bot. Commit: |
|
PR_Github #57384 [ run ] completed with state
|
ab64fff to
e9e0179
Compare
|
/bot run --disable-fail-fast |
|
PR_Github #57719 [ run ] triggered by Bot. Commit: |
|
PR_Github #57719 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #57905 [ run ] triggered by Bot. Commit: |
60a9660 to
d6fec9b
Compare
|
PR_Github #57972 [ run ] completed with state
|
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
d6fec9b to
3a40842
Compare
|
/bot run --disable-fail-fast |
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
PR_Github #58019 [ run ] triggered by Bot. Commit: |
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
/bot run --disable-fail-fast |
|
PR_Github #58025 [ run ] triggered by Bot. Commit: |
|
PR_Github #58019 [ run ] completed with state |
|
PR_Github #58025 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #58112 [ run ] triggered by Bot. Commit: |
|
/bot skip --comment "All failed tests are pre-existed and unrelated to the attention backend tests in this PR, skip CI" |
|
PR_Github #58119 [ skip ] triggered by Bot. Commit: |
|
PR_Github #58112 [ run ] completed with state |
|
PR_Github #58119 [ skip ] completed with state |
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
@coderabbitai summary
Description
This is a follow-up to #15536 that carries only the attention-backend changes
not included in that PR's squash merge.
production input contract, including fused RoPE and latent-cache validation.
current KV-cache metadata return contract.
standalone-harness exclusion now that the underlying issue is fixed.
Blackwell sliding-window decode cases that now pass the full suite.
Test Coverage
tests/unittest/_torch/attention/test_attention_backends.pytests/unittest/_torch/attention/test_attention_backends.pyPR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
If PR introduces API changes, an appropriate PR label is added - either
api-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin the PR title.Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually 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.