Skip to content

[Attention] Require explicit DCP support from attention implementations - #55780

Merged
khluu merged 3 commits into
mainfrom
akaratza_dcp_settings
Sep 8, 2026
Merged

khluu merged 3 commits into
mainfrom
akaratza_dcp_settings

Conversation

@AndreasKaratzas

@AndreasKaratzas AndreasKaratzas commented Sep 8, 2026

Copy link
Copy Markdown
Member
  • Default AttentionImplBase.supports_dcp to False so implementations must explicitly opt into DCP.
  • Enable eleven existing DCP implementation classes, preserving thirteen registered backends, including FlashAttention, FlashInfer, and the supported MLA variants.
  • Reject unsupported ROCm, standard Triton, FlexAttention, and TurboQuant DCP configurations during selection, before loading model weights.
  • Preserve the existing sparse AITER MLA and B12X exclusions and ordinary execution with DCP disabled.
  • Extend ROCm selector tests to cover dense and sparse MLA, automatic and explicit selection, and valid DiffKV/TurboQuant configurations with DCP on and off.
  • Add regression coverage for supported backend eligibility and the custom-backend default, and use CUTLASS MLA's supported block size 128 in its selector tests.

This follows the review on #54404, which raised concern that the new selection check could reject supported backends such as Triton MLA. The True default originated in #40996; #54404 preserved it and explicitly disabled DCP for sparse AITER MLA. Local testing confirmed that Triton MLA remained usable, but several unsupported implementations also inherited True and failed the worker's missing-LSE check after loading weights. Explicit opt-ins move those failures into backend selection and prevent new implementations from advertising DCP implicitly.

Explicit True declaration Backends covered
FlashAttentionImpl FLASH_ATTN, FLASH_ATTN_DIFFKV
FlashInferImpl FLASHINFER
TritonMLAImpl TRITON_MLA
AiterMLAImpl ROCM_AITER_MLA, ROCM_AITER_TRITON_MLA
CutlassMLAImpl CUTLASS_MLA
FlashMLAImpl FLASHMLA
FlashInferMLAImpl FLASHINFER_MLA
TokenspeedMLAImpl TOKENSPEED_MLA
FlashAttnMLAImpl FLASH_ATTN_MLA
FlashMLASparseImpl FLASHMLA_SPARSE
FlashInferMLASparseImpl FLASHINFER_MLA_SPARSE

Prepared with AI assistance (OpenAI Codex).

Default the implementation capability to false and preserve existing DCP
backends through explicit opt-ins. Cover positive and negative selection,
including sparse ROCm MLA and inherited implementations.

Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
@mergify mergify Bot added nvidia rocm Related to AMD ROCm labels Sep 8, 2026
@github-project-automation github-project-automation Bot moved this to Todo in AMD Sep 8, 2026
@AndreasKaratzas
AndreasKaratzas marked this pull request as ready for review September 8, 2026 01:50

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@AndreasKaratzas

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

✅ Triggered Buildkite CI #87609 for commit f833dc0527f2.

Explicitly select the multiprocessing executor for TP=2/DCP=2 selector
configurations. These tests never launch workers, so CUDA executor
autodetection must not require two physical GPUs before selection runs.
This fixes the 11 configuration failures in Buildkite build 87609.

Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
@AndreasKaratzas

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

✅ Triggered Buildkite CI #87613 for commit 20bb2cc53038.

@github-project-automation github-project-automation Bot moved this to Ready in NVIDIA Sep 8, 2026
@tjtanaa tjtanaa added the ready ONLY add when PR is ready to merge/full CI is needed label Sep 8, 2026
@AndreasKaratzas

Copy link
Copy Markdown
Member Author

The remaining test group is a known flaky one.

@khluu
khluu merged commit db3814a into main Sep 8, 2026
136 of 139 checks passed
@khluu
khluu deleted the akaratza_dcp_settings branch September 8, 2026 21:04
@github-project-automation github-project-automation Bot moved this from Todo to Done in AMD Sep 8, 2026
@github-project-automation github-project-automation Bot moved this from Ready to Done in NVIDIA Sep 8, 2026
ItsRoy69 pushed a commit to ItsRoy69/vllm that referenced this pull request Sep 10, 2026
…ns (vllm-project#55780)

Signed-off-by: Andreas Karatzas <akaratza@amd.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Jyotirmoy Roy <jyotirmoyroy649@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

nvidia ready ONLY add when PR is ready to merge/full CI is needed rocm Related to AMD ROCm

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants