Skip to content

Pin llama.cpp 8792923f: the SET_ROWS hook the private kernels need (fixes the main build) - #477

Merged
bong-water-water-bong merged 2 commits into
mainfrom
1bit/pin-set-rows-q8
Oct 20, 2026
Merged

bong-water-water-bong merged 2 commits into
mainfrom
1bit/pin-set-rows-q8

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

Engine main 1834ceb (#476) does not build with the private HIP kernels. gpu-kernels be68256d's addons/hip-hrx/dispatch-hip-set-rows-q8.cpp:39 uses HipSetRowsArgs, and that type only existed on the fork branch 1bit/hrx-set-rows-q8, the fork half of census G1, which was never merged.

  • llama.cpp fork Vulkan: Mamba-1 selective scan on the GPU #116: squash-merged that branch (93abb7a1b, 2048a5f2a, d2c715a44, cherry-picked onto b14a28362 with no conflicts) into 1bit/hrx-vulkan-patched as 8792923f8. 8792923f8 has the same tree (a284de6e) as the PR head c532b4ec9 that the build below used.
  • Pin: third_party/llama.cpp b14a28362 -> 8792923f8 (the tip of its .gitmodules branch). The README pin note is updated. tools/registry_build.py is regenerated; --check-pins and --check are clean, and tools/check_pins.py origin/main reports "ahead".

Proof on ryzen, with no GPU or NPU used (ROCR_VISIBLE_DEVICES=-1, nice 19, -j8):

  • Release build: WEEKLY_DRY_RUN=1 scripts/weekly.sh build test with HRX on and the private fetch (gpu-kernels be68256d, NPU runtime 0fb58e1), at llama.cpp c532b4ec9. Build PASS in 295 s. dispatch-hip-set-rows-q8.cpp.o compiled, libggml-hrx.so exports ggml_hrx_hip_addon_register and carries 40 amdgcn code objects, and 11 strings name the set_rows q8 kernels.
  • ctest: 36 passed, 2 skipped (serve_e2e_hrx: no gfx1151 on ryzen; onnx_npu_smoke). The only failure was registry_pins on that proof commit, because its registry still recorded b14a28362; this PR's regenerated registry fixes that.
  • hw-gate build phase, with the gate change from the follow-up PR (1bit/hw-gate-private-kernels), on the same box: at b14a28362 it fails with dispatch-hip-set-rows-q8.cpp:39:28: error: unknown type name 'HipSetRowsArgs'; at 8792923f8 it passes.

🤖 Generated with Claude Code

bong-water-water-bong and others added 2 commits October 20, 2026 18:08
…need (census G1)

gpu-kernels be68256d (#476) compiles addons/hip-hrx/dispatch-hip-set-rows-q8.cpp against
HipSetRowsArgs, which only the fork branch 1bit/hrx-set-rows-q8 had: with the private
kernels the release build failed at dispatch-hip-set-rows-q8.cpp:39. Fork #116 squash-merged
that branch onto 1bit/hrx-vulkan-patched (8792923f8, the same tree as the head proven here).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bong-water-water-bong bong-water-water-bong added the hw-gate Run the HRX hardware gate on Strix Halo (docs/hw-gate.md) label Oct 20, 2026
@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis ✅

476 - PR Code Verified

Compliant requirements:

  • Pin gpu-kernels be68256d and llama.cpp b14a2836 to fix census gaps G1, G3-G6 on HRX
  • Fix the build issue with private HIP kernels requiring SET_ROWS hook
  • Ensure the build passes with the new pins and registry is regenerated

Requires further human verification:

  • Verification of actual performance improvements on Strix Halo for G1, G3-G6 gaps
  • Confirmation that the build works correctly on actual hardware with private kernels

116 - PR Code Verified

Compliant requirements:

  • Implementation of Mamba-1 selective scan on the GPU via Vulkan
  • Matching CPU reference behavior in the new Vulkan implementation
  • Performance improvements measured on Strix Halo for Mamba-1 layers

Requires further human verification:

  • Verification of identical greedy completions between CPU and GPU implementations
  • Confirmation of performance improvements on actual hardware
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Outdated Pin Reference

The README.md still references the old llama.cpp commit b14a28362 in the description, even though the actual pin has been updated to 8792923f8. This could be misleading for users who rely on the documentation to understand the current state of the pinned dependencies.

> on AMD's `e3e6a976` hrx-system line since 2026-10-18, now hrx-system `82804197` with llama.cpp `00f2a68de` (`b14a28362` since 2026-10-20: a stall-aware `/health` and an exit on a lost GPU for [one hop from Lemonade](docs/serve.md#one-hop-from-lemonade---print-backend), plus the census-gap fixes G4-G6; `8792923f8` since 2026-10-20: the SET_ROWS hook the private kernels' q8_0 KV cache needs, census G1)

@bong-water-water-bong
bong-water-water-bong enabled auto-merge (squash) October 20, 2026 21:13
@bong-water-water-bong
bong-water-water-bong merged commit 3f881c1 into main Oct 20, 2026
12 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the 1bit/pin-set-rows-q8 branch October 20, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hw-gate Run the HRX hardware gate on Strix Halo (docs/hw-gate.md) Review effort 3/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant