Skip to content

Releases: julianmb/q38rocm

Engine v1.7.0 — pinned-commit build

Choose a tag to compare

@julianmb julianmb released this 02 Sep 01:47

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

Choose a tag to compare

@julianmb julianmb released this 01 Sep 03:45

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)

Choose a tag to compare

@julianmb julianmb released this 30 Aug 06:12

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_spec prefill checkpoints (issues #13/#14/#19)
  • router-loading-child-stop-timeout.patch — router no longer waits out stop-timeout for 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

Choose a tag to compare

@julianmb julianmb released this 26 Aug 00:52

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)

Choose a tag to compare

@julianmb julianmb released this 25 Aug 13:28

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)

Choose a tag to compare

@julianmb julianmb released this 25 Aug 11:34

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)

Choose a tag to compare

@julianmb julianmb released this 24 Aug 11:10

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

Choose a tag to compare

@julianmb julianmb released this 22 Aug 14:09

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 (--webui opts in; no Node.js needed)
  • Vulkan builds preflight Khronos spirv-headers; new --rocm-only fallback
  • 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_calls on both endpoints

📦 Deployment & environment

  • amd/xdna-driver registered 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_DIR instead 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

Choose a tag to compare

@julianmb julianmb released this 18 Aug 23:36

🚀 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.
  • 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.sh

Qwen 3.8 27B ROCmFP4 v1.1.0

Choose a tag to compare

@julianmb julianmb released this 18 Aug 04:46

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.json and radeon_icd.json across Fedora 43, Arch Linux, RHEL, Ubuntu, and Debian.
  • Upstream M-RoPE & Rollback Patches (Fixes Issue #3): Tracks latest upstream ROCmFPX main to fix M-RoPE position embedding bugs and MTP draft rollback glitches.
  • Repetition Prevention on Long Generations (Fixes Issue #3): Default --presence-penalty 1.5 and --repeat-penalty 1.05 configured 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)