Repository navigation
Releases: julianmb/q38rocm
Release list
Engine v1.7.0 — pinned-commit build
Pre-built Strix Halo (gfx1151) static dual-backend engine from the pinned ROCmFPX commit. See engine/BUILD_INFO.txt for provenance. SHA256: 19deedcaac6c13548be417dfaf5368c4b5eb8a9b3cdac3c9b4405b0f0e55d367
Engine v1.6.0 — pinned-commit build
Pre-built Strix Halo (gfx1151) static dual-backend engine from the pinned ROCmFPX commit. See engine/BUILD_INFO.txt for provenance. SHA256: 4fef9aa9ba58c92d02f3bb08cfd9508b1607d22d3aaffcc87d3fe8d1a4757eab
Engine v1.5.3 — Built from the Pinned Commit (ends prebuilt drift)
ROCmFPX Engine binaries — v1.5.3
Static dual-backend Strix Halo (gfx1151) build, now from the pinned upstream commit 0fc9568e07ccc8553010864cb8db1957e629cbfa — ending the prebuilt/source drift documented in docs/UPSTREAM_TRACKING.md (issues #20/#21 stalled because binaries could not be mapped to a revision).
llama-server --version now reports version: 244 (0fc9568) — the same revision a source build produces.
Applied patches (all in patches/, applied automatically by build_engine.sh)
mtp-prompt-cache-fix.patch— spec-stateful checkpoint salvage: prompt-cache restore works under MTP, including empty-data_specprefill checkpoints (issues #13/#14/#19)router-loading-child-stop-timeout.patch— router no longer waits outstop-timeoutfor a still-loading child (issue #21); measured 11 s → 1 s
Contents
bin/llama-server,bin/llama-cli,bin/llama-bench,bin/llama-quantize- Static linkage (ROCm HIP gfx1151 + Mesa RADV Vulkan Wave64),
LLAMA_BUILD_WEBUI=OFF
SHA256: 10f060aa19ce9976f8807ecdacda8f708a13209cad0aa7c3111293ebe0ca5ad7
Note: this supersedes the v1.5.2 tarball (built from 12f8b7e, a non-ancestor lineage). Always include llama-server --version / engine/BUILD_INFO.txt in engine bug reports.
Engine v1.5.2 — Static binaries with spec-stateful prompt checkpoint fix
Verified Static Engine Release v1.5.2
Engine binaries built with BUILD_SHARED_LIBS=OFF (the ggml/llama internals are
static) and the spec-stateful checkpoint salvage fix applied.
Archive structure
strix-halo-rocmfpx-engine/bin/{llama-server, llama-cli, llama-bench, llama-quantize}
Runtime requirement (please read)
These binaries are not self-contained. libhipblas.so.3 and
libamdhip64.so.7 are direct link-time dependencies, so the ROCm 7.2.x runtime
must be present or the process will not start. This applies to the Vulkan0
backend as well: the dynamic loader resolves those libraries before main()
runs, long before any backend is selected.
On a workstation with ROCm installed this is already satisfied (/opt/rocm/lib
is in the default ld.so path). In a container you need one of:
- bind-mount the host runtime:
-v /opt/rocm/lib:/opt/rocm/lib:ro, or - bake the ROCm runtime subset into the image (~1.2 GB).
See halofpx#4 and
§7 of the halofpx Docker guide.
SHA256
70d11cec4fd6c148a050f80a0422d563a928c39f849e600d6b59b1d620820aa7
Verification
$ strings bin/llama-server | grep 'restored spec-stateful context checkpoint'
→ 1 match ✓
Engine v1.5.1 — Verified spec-stateful checkpoint fix (issue #14)
Critical fix over v1.5.0
The v1.5.0 release asset was packaged from unpatched binaries — the
spec-stateful checkpoint salvage code was absent despite the commit message.
This release is built from a source tree with the patch applied and verified:
$ strings llama-server | grep 'restored spec-stateful context checkpoint'
→ 1 match (fix confirmed)
SHA256
7b60f83efd6e58ef36efba6cadf722a09b889ca9510f14124a8e6322a1567fab
What the fix does
Allows checkpoints created during prompt prefilling (empty data_spec) to be
restored during partial-prefix rollback under MTP, instead of triggering
full cold re-prefill.
Engine v1.5.0 — Partial-Prefix Checkpoint Salvage Under MTP (issue #14)
ROCmFPX Engine binaries — v1.5.0
Pre-built Strix Halo (gfx1151 / Radeon 8060S) static dual-backend engine from pinned upstream commit 0fc9568e07ccc8553010864cb8db1957e629cbfa plus one targeted fix for issue #14.
Fix: partial-prefix rollback no longer wipes the whole cache
When a follow-up prompt diverged from the cached context (e.g. an edited sentence near the end of a long document), checkpoint salvage previously required the candidate checkpoint to carry a non-empty MTP speculative-state snapshot (data_spec). Checkpoints captured during long prefills can lack that snapshot, so every candidate was disqualified and the server erased all checkpoints and re-prefilled the entire ~96K prompt cold (reason=spec-boundary-mismatch).
Salvage now also accepts checkpoints without a spec snapshot: target + draft KV are restored, stale in-flight speculative state is cleared, and only the tokens after the checkpoint are replayed — decoding then re-seeds a fresh MTP boundary, exactly like the proven cold-fallback tail but without the multi-minute prefill.
Contents
bin/llama-server,bin/llama-cli,bin/llama-bench,bin/llama-quantize- Static linkage (ROCm HIP gfx1151 + Mesa RADV Vulkan Wave64),
LLAMA_BUILD_WEBUI=OFF
SHA256: 7352ab06dff8a2a346cc20bf25a21d41f86ca490387fea77fce926340f6ce73f
Engine v1.4.0 — Prompt Cache + MTP Coexistence (issue #13)
ROCmFPX Engine binaries — v1.4.0
Pre-built Strix Halo (gfx1151 / Radeon 8060S) static dual-backend engine, built from the pinned upstream commit 0fc9568e07ccc8553010864cb8db1957e629cbfa (native, no local patches).
Headline: prompt caching and MTP speculation now coexist
Upstream ROCmFPX integrated speculative-boundary-aware checkpoint restore (data_spec captured with every context checkpoint), so --profile cache + MTP is supported:
- context checkpoints restore the exact (target KV, draft KV, MTP boundary) triple
- partial-prefix rollback salvages from the nearest checkpoint instead of cold-reprocessing
- verified live on Ryzen AI Max+ 395: warm request restored from checkpoint at token 686 (
spec_state=204856), re-prefilled only the delta (1024 vs 1711 tokens), and continued MTP decode at 70%+ draft acceptance
Requires launcher support: ./run_server.sh --profile cache --mtp (or MTP=1). Older launchers forced MTP=0 in the cache profile.
Contents
bin/llama-server,bin/llama-cli,bin/llama-bench,bin/llama-quantize- Static linkage (ROCm HIP gfx1151 + Mesa RADV Vulkan Wave64),
LLAMA_BUILD_WEBUI=OFF
SHA256: 7edd6bb87e00faebdf3af7887230f9293887b00633b04829817844429e4a6bcc
Qwen 3.8 27B ROCmFP4 v1.3.0 — Build Portability, Hybrid Tool-Calling & CI
Highlights (37 commits since v1.2.0)
🔧 Build portability (issues #7, #8, #9)
- Static HIP/Vulkan objects compile as PIC — fixes Ubuntu PIE link failures
- Embedded WebUI now off by default (
--webuiopts in; no Node.js needed) - Vulkan builds preflight Khronos
spirv-headers; new--rocm-onlyfallback - Documented Ubuntu 24.04 build deps + Debian 13 ROCm repo limitation
🧠 Hybrid NPU pipeline: OpenAI tool-calling fixed (issue #11)
- Full request-field passthrough to the iGPU (
tools,tool_choice,response_format, ...) - Structured-output requests bypass the NPU prefix burst (no unretractable malformed prefixes)
- Verified standard
finish_reason: tool_callson both endpoints
📦 Deployment & environment
amd/xdna-driverregistered as a real git submodule; docs de-hardcoded (issue #5)- ROCm 7.2.x runtime preflight with distro-specific install instructions for the libhipblas closure (issue #6)
- Quickstart resolves weights/engine via
HALOFPX_HUB_DIRinstead of absolute maintainer paths
🧪 CI & tests
- GitHub Actions: Python pipeline tests + shell suites on every push/PR
- New regression suite for hybrid tool-calling passthrough
Full changelog: v1.2.0...v1.3.0
Qwen 3.8 27B ROCmFP4 v1.2.0 — 262K Max Context & Optimal MTP Speculation
🚀 Qwen 3.8 27B ROCmFP4 v1.2.0 Release Notes
Optimized deep-dive repository for running Qwen 3.8 27B on AMD Strix Halo (Ryzen AI Max+ 395 / Radeon 8060S) and discrete Radeon GPUs.
🌟 Key Highlights & Enhancements
- 262K Maximum Context Window Default: Upgraded default context across all server scripts, launchers, and configs to 262,144 tokens (262K / 256 KiB).
- With asymmetric TurboQuant KV (
-ctk q8_0 -ctv turbo4), peak total RAM at full 262K context is only ~33.63 GB (13.55 GB weights + 20.08 GB KV), fitting easily into 64 GB and 128 GB unified memory.
- With asymmetric TurboQuant KV (
- Empirical MTP Speculation Alignment (
K=4/p0.0): Aligned default speculation depth to the empirically optimal single-user sustained profile for maximum 33.8 tok/s throughput without rollback penalties. - Hybrid NPU Acceleration Pipeline (
scripts/run_pipeline.py): Added optional hybrid NPU-burst to iGPU pipeline utilizing the 50 TOPS XDNA 2 NPU for 1.8× faster first-token latency (870ms vs 1587ms) on long prompts. - Cross-Distro Vulkan ICD Discovery: Automatic resolution across Arch, Debian/Ubuntu, Fedora, and RHEL.
- Docker & WSL2 Support: Complete Docker Compose stack with optional Open WebUI profile.
- HaloFPX Ecosystem Integration: Cross-linked to julianmb/halofpx for multi-model serving.
⚡ 1-Command Quickstart
./quickstart.shQwen 3.8 27B ROCmFP4 v1.1.0
Qwen 3.8 27B ROCmFP4 Release v1.1.0
What's Changed in v1.1.0:
- Windows (WSL2 / Docker Desktop) & Linux Container Support: Added multi-platform Docker container and Docker Compose stack with optional Open WebUI chat browser.
- Dynamic Vulkan ICD Discovery (Fixes Issue #2): Automatically detects
radeon_icd.x86_64.jsonandradeon_icd.jsonacross Fedora 43, Arch Linux, RHEL, Ubuntu, and Debian. - Upstream M-RoPE & Rollback Patches (Fixes Issue #3): Tracks latest upstream ROCmFPX
mainto fix M-RoPE position embedding bugs and MTP draft rollback glitches. - Repetition Prevention on Long Generations (Fixes Issue #3): Default
--presence-penalty 1.5and--repeat-penalty 1.05configured to eliminate repetitive array trapping on complex coding tasks. - Multi-Slot Concurrency Tuning: Validated 4-slot parallel serving (hitting up to 40.5 aggregate tok/s) with safe reasoning budgets.
Assets:
strix-halo-rocmfpx-engine-v1.0.0-linux-x86_64.tar.gz(SHA256:bbc7845db0c012b97f1c9b8a2733a7083c6f9a749a453866fbe1994151d3364f)