The router's GGUF scorer (#206) now runs on HRX0 (HRX + LOOM), not Vulkan:
- third_party/ggmlc -> our fork 1bit-MONSTER/ggmlc 1bit/main (df08d1b0): an
HRX build against a llama.cpp ggml, and a uid on every graph so HRX's
graph-program cache and graph replay hit.
- third_party/llama.cpp -> 22ceda3a (fork #31): the LOOM kernels ModernBERT
needs on HRX (LayerNorm, strided/broadcast arithmetic, clamp, F32->F16 copy,
per-head attention, odd-K matmuls) and fused RoPE and GEGLU.
- cmake/laya-ggml.cmake builds ggmlc's laya with TheRock's amdclang against
third_party/llama.cpp's ggml and hrx-system; no Vulkan build for the scorer.
- serve --laya starts `laya daemon ... --device hrx` with the HSA runtime HRX
needs (IREE_HAL_AMDGPU_LIBHSA_PATH from --hrx-libhsa / TheRock).
Strix Halo, tests/laya_route_cases.json (200): 95.5% (as the CPU scorer and
Vulkan); p50 25 ms a decision, 15-16 ms at a steady 64 tokens (Vulkan 12),
25 ms at 128 (Vulkan 24-31); C++ scorer 538 ms. docs/laya.md also records
that the multilingual checkpoint routes worse than typed-decisions in all six
languages measured (69.1% vs 83.7%), so it is not used.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follow-up to #206. The router's GGUF scorer now runs on HRX0 (HRX + LOOM), not Vulkan. The engine no longer builds a Vulkan scorer.
third_party/ggmlcnow points at our fork, 1bit-MONSTER/ggmlc1bit/main(df08d1b0). It adds an HRX build against a llama.cpp ggml, and gives every graph a uid. Without the uid, HRX re-imported and re-recorded the whole graph on every call, because ggml only assigns uids insideggml_backend_sched.third_party/llama.cppis bumped to 22ceda3a (fork Documentation site on GitHub Pages (1bit-monster.github.io/engine) #31). That brings the LOOM kernels ModernBERT needs on HRX: LayerNorm, strided/broadcast arithmetic, clamp, F32->F16 copy, per-head attention, odd-K matmuls, plus fused RoPE and GEGLU.test-backend-opspasses on HRX0. ZAYA1-8B on HRX has the same PPL with the new kernels on or off.cmake/laya-ggml.cmake(-DONEBIT_LAYA_GGML=ON) buildslayawith TheRock's amdclang againstthird_party/llama.cpp's ggml andhrx-system.serve --layarunslaya daemon <gguf> --family typed-decisions --device hrx, with the HSA runtime HRX needs.tests/laya_gguf_route.shchecks both, now 9 checks.Verified on Strix Halo from a clean clone of this branch (
-DONEBIT_LAYA_GGML=ON), with1bit serve --layaand no overrides: 95.5% ontests/laya_route_cases.json, p50 28 ms per request.docs/laya.mdalso records that the multilingual checkpoint routes worse than typed-decisions in all six languages measured (69.1% vs 83.7% over 682 translated cases), so the engine doesn't use it.🤖 Generated with Claude Code