Skip to content

Bump HRX: llama.cpp 02f2880c9f42 + hrx-system 4ba76c18eafe (AMD's tested pair) - #357

Merged
bong-water-water-bong merged 1 commit into
mainfrom
bump-hrx/02f2880c9f42-c0b135a778cc
Oct 8, 2026
Merged

bong-water-water-bong merged 1 commit into
mainfrom
bump-hrx/02f2880c9f42-c0b135a778cc

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

Moves BOTH submodules onto the pair ROCm/ggml-staging-automation now pins, each merged with our own commits (the workflow performs the merge; a conflict fails the run and names the files).

from to
third_party/llama.cpp (1bit-MONSTER/llama.cpp 1bit/hrx-vulkan-patched) 26330cc20490 e44c9d01a4d5 (on AMD 02f2880c9f42)
third_party/hrx-system (1bit-MONSTER/hrx-system 1bit/main) 98d05d94a9f9 4ba76c18eafe (on AMD c0b135a778cc)

Our commits, rebased onto AMD's pin:

CI here builds without HRX. Before merging, on Strix Halo (and test-backend-ops -b HRX0):
cmake -B build -G Ninja -DONEBIT_HRX=ON && cmake --build build --target onebit && for d in hrx cpu; do tests/serve_e2e.sh build/1bit <Qwen3-0.6B Q4_K_M .gguf> $d; done

@bong-water-water-bong
bong-water-water-bong merged commit 805d30f into main Oct 8, 2026
7 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the bump-hrx/02f2880c9f42-c0b135a778cc branch October 8, 2026 00:17
bong-water-water-bong added a commit that referenced this pull request Oct 8, 2026
#353/#357 moved third_party/hrx-system to 4ba76c18eafe (our fork's 1bit/main,
which merged AMD's c0b135a778cc). That merge includes AMD's loom commit
32d0c76a "[Loom] Make AMDGPU runtime globals compiler-owned", which removes
loomc_amdgpu_runtime_global_flags_t / loomc_amdgpu_emit_options_t.

Our ggml/src/ggml-hrx/loom-jit.cpp still uses those symbols, so the pinned
pair does not compile:

  loom-jit.cpp:70:5: error: unknown type name 'loomc_amdgpu_runtime_global_flags_t'
  loom-jit.cpp:994:5: error: unknown type name 'loomc_amdgpu_emit_options_t'
  10 errors generated.

GitHub CI builds the pin without HRX, so it cannot catch this. 98d05d94 is
our fork's previous revision and exports the API (loom/binding/c/include/
loomc/target/amdgpu/emit.h). Compiling loom-jit.cpp against it succeeds.

This restores the constraint already recorded in OWNER-ACTIONS.md: hrx-system
stays at 98d05d94 until our loom-jit path is ported to the compiler-owned API.

Co-authored-by: bong-water-water-bong <bong-water-water-bong@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 8, 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:

  • The PR updates the hrx-system submodule to a version that includes fixes for the decode-split FA compilation issue
  • The PR includes commits that specifically address the issue in the HRX backend

Non-compliant requirements:

  • The PR does not include specific test cases or verification steps for the fix on the hardware

Requires further human verification:

  • Verification that the fix actually resolves the compilation issue on AMD Strix Halo hardware
  • Confirmation that the fix does not introduce regressions in other models or configurations

94 - Partially compliant

Compliant requirements:

  • The PR updates the registry to reflect the new llama.cpp commit
  • The registry architecture count for hrx is updated to 292

Non-compliant requirements:

  • The PR does not include verification that the updated registry correctly maps all architectures

Requires further human verification:

  • Confirmation that the updated registry accurately reflects all supported architectures
  • Verification that the census workflow continues to function correctly with the new commit

93 - Partially compliant

Compliant requirements:

  • The PR updates the submodules to include performance improvements for the Laya scorer

Non-compliant requirements:

  • The PR does not include specific performance benchmarks or verification of the 0.38 s improvement

Requires further human verification:

  • Verification that the performance improvement is actually achieved on the target hardware
  • Confirmation that the byte-identical output is maintained across different checkpoints
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Submodule Update Verification

The PR updates the hrx-system submodule to commit 4ba76c18eafecd1d3c5c3e022c4e097601c9af04. While this update includes fixes for the decode-split FA compilation issue, there is no verification that the specific hardware conditions mentioned in the ticket (AMD Strix Halo, head size 256, 24 query heads, 4 KV heads) are actually resolved. The update should be validated on the target hardware to ensure the fix is effective.

Subproject commit 4ba76c18eafecd1d3c5c3e022c4e097601c9af04
Registry Update Consistency

The registry/architectures.json file has been updated to reflect the new llama.cpp commit. However, there is no explicit verification that the updated registry correctly maps all architectures from the new commit. The counts and mappings should be validated to ensure they accurately reflect the capabilities of the updated backend.

{
 "about": "HF architecture -> GGUF architecture and the backends whose code accepts it. Generated by tools/registry_build.py from the pinned sources; do not edit.",
 "sources": {
  "llama.cpp (hrx)": "e44c9d01a4d5110cecaf45472a717f46cd1abbf9"
 },
 "counts": {
  "hrx": 292,
  "npu": 7,

bong-water-water-bong added a commit that referenced this pull request Oct 9, 2026
…e new revision dropped (#365)

AMD removes public LoomC symbols without notice: loom 32d0c76a (in hrx-system
4ba76c18) dropped loomc_amdgpu_runtime_global_flags_t and
loomc_amdgpu_emit_options_t, which our ggml/src/ggml-hrx/loom-jit.cpp uses.
CI here builds without HRX, so #353, #357 and #361 merged a submodule pair that
does not compile with ONEBIT_HRX=ON, and #359 and #363 pinned hrx-system back by
hand (KNOWN-ISSUES.md).

The bump now checks, at the header level, that every loomc_* / LOOMC_*
identifier used under ggml/src/ggml-hrx at the new llama.cpp revision is still
declared under loom/binding/c/include at the new hrx-system revision. If one is
missing, the PR moves llama.cpp only, keeps hrx-system where it is, and says so
in its body and in a workflow warning. When neither submodule moves, no PR is
opened (#361 moved one gitlink only).

Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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.

1 participant