Skip to content

Avoid subgroup votes in HRX decode-split flash attention - #342

Merged
bong-water-water-bong merged 2 commits into
mainfrom
copilot/hrx-loom-decode-split-fix-compile
Oct 6, 2026
Merged

bong-water-water-bong merged 2 commits into
mainfrom
copilot/hrx-loom-decode-split-fix-compile

Conversation

Copilot AI commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

The reported D=256 compile failure involved subgroup-vote results feeding conditional branches. Later runtime testing compiled and dispatched the kernel successfully; the failure was observed with a separate CLI compiler.

  • Kernel: Pin llama.cpp to the always-stage candidate. Replace both subgroup votes with constants, forcing the existing masked-value staging path and removing the collectives:
    %key_tile_all_visible = scalar.constant false : i1
    %key_tile_any_visible = scalar.constant true : i1
    
    This stages every key tile, trading performance for a simpler path.
  • Registry: Update the recorded llama.cpp pin to match the submodule.
  • Review note: The candidate is on 1bit/fa-always-stage; .gitmodules tracks 1bit/hrx-vulkan-patched. The candidate’s masked-KV check was not the authoritative private test, and the original compile failure is no longer reproducible on demand.

Co-authored-by: bong-water-water-bong <277547417+bong-water-water-bong@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix compile issue for HRX Loom decode-split FA with head size 256 Avoid subgroup votes in HRX decode-split flash attention Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

314 - Partially compliant

Compliant requirements:

  • Fix the compile failure of the decode-split flash-attention kernel for D=256 with 24 query heads and 4 KV heads on HRX Loom
  • Update the llama.cpp submodule to a version that resolves the compilation issue
  • Update the registry to reflect the new llama.cpp commit

Non-compliant requirements:

  • None

Requires further human verification:

  • None
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Subproject Commit Mismatch

The PR updates the llama.cpp submodule commit, but does not verify that the new commit actually resolves the compile issue described in the ticket. It's possible that the new commit may not fully address the problem or may introduce new issues.

Subproject commit cf4dfd801e6ac7cd06a42ff012ab453c9bd086da
Registry Update Consistency

The registry file is updated to reflect the new llama.cpp commit, but there is no verification that the commit hash in the registry matches the actual pinned commit in the submodule. This could lead to inconsistencies if the submodule and registry are not in sync.

"llama.cpp (hrx)": "cf4dfd801e6ac7cd06a42ff012ab453c9bd086da"

@bong-water-water-bong
bong-water-water-bong marked this pull request as ready for review October 6, 2026 22:46
@bong-water-water-bong
bong-water-water-bong merged commit beec5e6 into main Oct 6, 2026
7 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the copilot/hrx-loom-decode-split-fix-compile branch October 6, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HRX Loom decode-split FA fails to compile for D=256, 24 q heads / 4 kv heads after fork #72 (hrx-system 51b1739)

2 participants