Repository navigation
Steps 1-2: embedded Lemonade, and HRX + Vulkan in one llama.cpp build - #6
Merged
Merged
Conversation
- third_party/lemonade: Lemonade v11.9.0, vendored complete, plus the local deltas in its UPSTREAM.md (the onebit backend, /v1/registry, the hrx-b66 pin, the embed CMake patch). Copied from 1bit-MONSTER main (last changed 256e68dd7). - app/main.cpp: `1bit lemonade [lemond options]`, ported from run_embedded_lemonade in tools/unified_server.cpp. FLM pinning is dropped (FLM is eliminated); the engine-registry injection returns with the NPU engine (step 3). - tests/smoke_lemonade.sh (ctest + CI): health ok, catalog with llamacpp-hrx, system-info. Uses scratch dirs. - docs/lemonade.md; porting map adds step 5 (every HF model: registry + daily census). third_party/ is exempt from our copyright notice. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ported CI runners have no AMD GPU, so Lemonade correctly hides llamacpp-hrx there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
force-pushed
the
embed-lemonade
branch
from
September 22, 2026 21:42
39d6152 to
b07eb96
Compare
* wip: step 2 HRX + Vulkan build (testing from a fresh clone) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * wip: pin the HRX submodules (gitlinks) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Step 2: HRX + Vulkan in one llama.cpp build, wired into Lemonade - Pinned submodules: ROCm/hrx 0bc22fb (runtime), ROCm/hrx-system 6743075f (loom-link with --mode=selective), and the llama.cpp fork on branch 1bit-engine/hrx-vulkan (3b33c8a9). patches/hrx 0001-0003 hold the local changes: build plumbing plus the gfx1151 PM4 probe fix. - cmake/hrx.cmake (ONEBIT_HRX, off by default): clones each submodule into the build tree, patches it there, and builds only what ggml-hrx2 needs. hrx_assemble_prefix.cmake reproduces the previously hand-assembled prefix. - 1bit lemonade uses the resulting llama-server for llamacpp-hrx (HRX20) and for llamacpp's Vulkan backend (Vulkan0), replacing only defaults. - Lemonade delta: an hrx_device option (default HRX0) replaces the hard-coded device. - Verified on Strix Halo from a fresh clone (217 s): 48/48 kernel artifacts byte-identical to the working build; decode parity; Lemonade serves the same checkpoint on Vulkan0 (117 tok/s) and HRX20 (34 tok/s) (tests/hrx_lemonade_e2e.sh). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
enabled auto-merge (squash)
September 22, 2026 21:51
bong-water-water-bong
pushed a commit
that referenced
this pull request
Sep 26, 2026
…ama.cpp #2, #5, #6) The pin adds the zaya architecture and its converter (#2, #5) on top of #104's #95 fixes, and carries #106's scalar-scatter SET_ROWS onto the tracked branch (#6): #106 pinned c358334, which is on no branch of the fork. registry/architectures.json, regenerated: ZayaForCausalLM maps to hrx and vulkan (266 architectures, all mapped). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
added a commit
that referenced
this pull request
Sep 26, 2026
…nly architectures (#107) * ZAYA1 (Zyphra) on Vulkan: serve routes fork-only architectures to our llama.cpp `1bit serve --device vulkan` reads the GGUF's general.architecture (app/gguf_meta.h) and runs an architecture only our llama.cpp implements (zaya) on the HRX build's Vulkan0, even when the upstream Vulkan build is present. registry_build counts such architectures for vulkan the same way, and check_models.tsv checks ZAYA1-8B Q4_K_M on vulkan. docs/vulkan.md: converting and serving ZAYA1, with the checks against transformers and the measured speeds on Strix Halo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ZAYA1 on HRX and ROCm: docs, and serve_e2e on vulkan and hrx in the registry Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Pin llama.cpp 5556bf2: ZAYA1 on Vulkan, HRX and ROCm (1bit-MONSTER/llama.cpp #2, #5, #6) The pin adds the zaya architecture and its converter (#2, #5) on top of #104's #95 fixes, and carries #106's scalar-scatter SET_ROWS onto the tracked branch (#6): #106 pinned c358334, which is on no branch of the fork. registry/architectures.json, regenerated: ZayaForCausalLM maps to hrx and vulkan (266 architectures, all mapped). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * registry: vulkan and hrx rows re-checked at b9812e0 (16/16 pass, ZAYA1-8B included) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: build gguf_meta_test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 7, 2026
bong-water-water-bong
pushed a commit
that referenced
this pull request
Oct 18, 2026
Replays hrx-system fork #6 (c9656af, generate_stubs.py takes HIP entry point signatures from api.h so --check is trustworthy; regenerated stubs_generated.c) on top of ae206d5e as a clean cherry-pick: 1bit-MONSTER/hrx-system 1bit/e3e6a976-pin-6 = d3c731e1. #6 was only ever on the fork's 1bit/main, never in a shipped pin. The hold and the validated-pin record name d3c731e1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
added a commit
that referenced
this pull request
Oct 18, 2026
…#441) * Move HRX pins: hrx-system to AMD's e3e6a976 line, llama.cpp 8d9ce2c1a (owner, 2026-10-18) third_party/hrx-system 3319e536 -> ae206d5e (1bit-MONSTER/hrx-system 1bit/e3e6a976-pin): AMD's e3e6a9766ccb with our commits replayed on it (HRX_AQL_BLOCK_SIZE / HRX_COMMAND_BUFFER_MODE, the engine#409, #410 and #401 fixes) and our fix for ROCm/hrx-system#1535. AMD's newer Loom no longer reaches #1535 on our prompts, but its multi-unit live-out guard is still in unit_liveness_builder.c, so we keep removing it. The pin is a `-s ours` merge of 3319e536 (every shipped commit stays reachable, check_pins sees it ahead) whose tree is the tested commit fc2213a1c. third_party/llama.cpp 1a5dcba2 -> 8d9ce2c1a (1bit-MONSTER/llama.cpp 1bit/hrx-bump-e3e6a976): AMD-Ecosystem hrx-graph-develop-v2 43b0ec2c4 merged into our line (118 conflicts, all under ggml-hrx, ours kept), the kernel corpus predicate renamed `mul(` -> `multiple_of(` (195 predicates, 54 files; e3e6 parses only multiple_of), and a range bound on the ARGSORT rank our small_rows_f32.loom stores through (the new Loom store-origin check rejected it, 46 ARGSORT cases). Measured on strixhalo 2026-10-17 against the old pins (performance mode, ~/wt/hrx-bump-test/REPORT.md): test-backend-ops -b HRX0 1141/1141 x3; needle 7341 Qwen3-0.6B @4732 20/20, @4432 5/5, Qwen3-1.7B @4732 5/5; FA stress 20x48 identical; KLD 0.000000 and identical 80-token output on Qwen3-0.6B and ZAYA1-8B; pp512 +4.4% / +7.8%, tg128 +2.5% / +2.8% (0.6B / ZAYA1-8B, medians of 3 interleaved rounds). config/hrx-system-hold.config now names the new pin (moves stay manual) and config/hrx-long-prompt-validated-pin.config records it. registry/architectures.json: only the llama.cpp pin field changes (292 architectures before and after). docs/hrx.md and the bump-hrx.yml comment describe the new line. Not in this pin: hrx-system fork PR #6 (c9656af, generate_stubs.py canonical signatures; only ever on 1bit/main, never in a shipped pin); it regenerates stubs_generated.c, so it gets its own replay and checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * hrx-system pin: add our #6 on the e3e6a976 line (d3c731e1) Replays hrx-system fork #6 (c9656af, generate_stubs.py takes HIP entry point signatures from api.h so --check is trustworthy; regenerated stubs_generated.c) on top of ae206d5e as a clean cherry-pick: 1bit-MONSTER/hrx-system 1bit/e3e6a976-pin-6 = d3c731e1. #6 was only ever on the fork's 1bit/main, never in a shipped pin. The hold and the validated-pin record name d3c731e1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs/hrx.md, hold config: the pin sits on fork branch 1bit/e3e6a976-pin-6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
added a commit
that referenced
this pull request
Oct 20, 2026
…6 on HRX (#476) * Pin gpu-kernels be68256d and llama.cpp b14a2836: census gaps G1, G3-G6 gpu-kernels #6 (q8_0 KV cache: SET_ROWS + flash attention), #7 (LFM2 multi-sequence MUL_MAT), #8 (ZAYA ragged lm_head), #9 (PAD f32); llama.cpp fork #113 (zero-element CPY elided), #114 (PAD params), #115 (Loom rmsnorm_gate footprint). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * registry: regenerated at llama.cpp b14a2836 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: bong-water-water-bong <bong-water-water-bong@1bit.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Steps 1 and 2 of the port (
docs/PORTING.md). Step 2 (#7) was merged into this branch, so it lands onmaintogether with step 1 here.Step 1: embedded Lemonade (
docs/lemonade.md)UPSTREAM.md(theonebitbackend and others).1bit lemonade: runs Lemonade's server in-process.Step 2: HRX + Vulkan (
docs/hrx.md, details in #7)ROCm/hrx0bc22fb,ROCm/hrx-system6743075f(loom-link), and the llama.cpp fork on branch1bit-engine/hrx-vulkan.patches/hrx/0001–0003replace edits that lived only in a working tree.-DONEBIT_HRX=ONbuilds onellama-serverwith HRX20 and Vulkan0.1bit lemonadeuses it forllamacpp-hrxand forllamacpp/Vulkan.CI covers the default build (
ONEBIT_HRX=OFF) and the smoke test. HRX runs on Strix Halo only, since the GitHub runner has no AMD GPU.🤖 Generated with Claude Code