Repository navigation
Releases: pepuscz/strix-halo-llm
Release list
v2.4.0: DeepSeek GSQ-RCO IQ2_XS on two RX 7900 XTX (production)
New production DeepSeek recipe maya-ds4-gsq-dual-xtx: GSQ-RCO IQ2_XS, dense matrices converted to Q8_0 at install, 524K context. Measured from scratch: --bench 56.8 decode (Maya-S 41.3), 130K real code 1,387 prefill / 48.3 / 55.6 decode, ladder 55/55 to 491K, 520K needle 5/5, quality 29/30. Maya-S stays as maya-ds4-dual-xtx. strixctl verify after install no longer demands install free space.
Dual RX 7900 XTX: DeepSeek-V4.1-Flash with 512K context
DeepSeek-V4.1-Flash-1017 on two RX 7900 XTX + Strix Halo: 512K context. The maya-ds4-dual-xtx stack moves from 262,144 to 524,288 tokens on a newer engine, pepuscz/project-maya tag maya-ds4-q3-dspark-512k-20261025.
- Qualified on its first host, installed from scratch from public sources:
- 55/55 on the eleven-point retrieval ladder (2,040–491,520 input tokens), with prefill up to 1,515 tok/s;
- the 130,048-token real-code prompt at 1,278.5 tok/s prefill and 36.1 / 44.6 tok/s decode (cold / reused);
- 30/30 quality.
- Maya's own
--bench(decode / prefill 2K / 8K, tok/s):- Maya v1.1.28 as released: 37.2 / 70 / 241;
- this release: 41.9 / 177 / 474;
- Maya v1.1.28 with the nine pull requests proposed upstream in mw00/project-maya#510: 41.3 / 180 / 482.
- Conversations are kept on disk. A 1,048,576-token allocation was tested and works, but isn't the qualified setting.
Install with STRIX_SYSTEM=maya-ds4-dual-xtx (about 470 GB free). See the README and BENCHMARKS.
Dual RX 7900 XTX: GLM-5.3-Flash with 512K context
The dual RX 7900 XTX setup gains a second recipe: GLM-5.3-Flash on Maya HIP, Maya-M IQ2_S, one conversation with 512K tokens of context. The engine is pepuscz/project-maya tag maya-glm-dual-xtx-512k-20261024. The model's layers are split over the two cards, the Radeon 8060S computes each card's routed experts held in RAM, and the model's own MTP layer drafts the next token. Conversations set aside for another one are kept on disk (up to four in 32 GB) and survive a service restart.
Measured on the qualified host with the same five-phrase prompt bytes as the DeepSeek rows (GLM's tokenizer counts about 7 % fewer tokens):
- Five-phrase retrieval test, a fresh load at every point: writing speed between 53.4 and 57.7 tok/s from 1,886 to 228,197 input tokens, and 50.1 tok/s at 456,403. Reading speed between 183.1 and 1,032.3 tok/s. Every run found all five phrases.
- 130,048-token real-code prompt of the DeepSeek row (124,103 GLM tokens), on the installed 512K service: read at 651.7 tok/s, 768 tokens written at 54.2 tok/s, and at 55.4 tok/s with that input already cached (DeepSeek: 155.4, 37.1 and 42.8).
- The public 128K prompt on the installed 512K service: 891.2 tok/s reading, 54.9 tok/s writing, 5/5.
- A conversation set aside on disk came back after a stop and start of the service in 0.1 s (28,553 tokens), and its next turn took 4.9 s.
- Quality: 28/30 (two maths misses), measured at 128K.
The recipe is ansible/releases/maya-glm-dual-xtx-512k.yml (release id maya-glm-dual-xtx-512k-v1), selected with STRIX_SYSTEM=maya-glm-dual-xtx. The from-scratch installer ran end to end on the qualified host at 512K, and strixctl verify passed. It uses the same kernel, isolated ROCm 7.2.4 userspace and fixed rocBLAS as the DeepSeek recipe, and needs about 240 GB free. Install one dual-card recipe at a time: both use the same service name and port.
The DeepSeek dual-card recipe, the Qwen and single-box DeepSeek setups and their measurements are unchanged. One correction: the DeepSeek dual-card results note now gives that row's real-code reading speed as 155.4 tok/s; it had kept the previous engine's 153.6.
Setups and installation · Dual-card chart · All measurements
Dual RX 7900 XTX: DSpark drafter split across both cards
The dual RX 7900 XTX setup now runs Maya DS4 engine tag maya-ds4-draftdev-dspark-256k-20261022, which places the DSpark drafter's blocks on both cards (block 0 on the second card, blocks 1 and 2 on the lead) instead of on the lead alone. Each card keeps room for more resident experts: 2,554 target experts a card instead of 2,247.
Measured on the same host, model, pack and expert profile, one conversation with 256K tokens of context:
- 130,048-token real-code prompt: read at 155.4 tok/s, 768 tokens written at 37.1 tok/s, and at 42.8 tok/s with that input already cached (published before: 153.6, 33.0 and 38.7).
- Five-phrase retrieval test from 2,040 to 245,760 input tokens, a fresh load at every point: writing speed between 27.8 and 34.5 tok/s and reading speed between 58.1 and 226.2 tok/s. Nine of the ten points write faster than the previous engine (up to 17 % at 122,879 input tokens); the 2,040-token point writes 10 % slower, one run each, no causal claim. Every run found all five phrases (50/50).
- Quality: 30/30, measured at 128K.
The recipe is ansible/releases/maya-ds4-dual-xtx-256k.yml (release id maya-ds4-dual-xtx-256k-v3). Against v2.0.2 it changes the engine tag and adds the DS4_DRAFT_DEV=1,0,0 environment variable; everything else is pinned as before. The from-scratch installer was exercised end to end at 128K on the previous engine tag.
The Qwen and single-box DeepSeek setups and their measurements are unchanged.
Setups and installation · Dual-card chart · All measurements
Strix Halo LLM — Qwen and DeepSeek setups
The winning Qwen and DeepSeek setup names are bold in the setup table and chart legend.
The benchmark measures how quickly each model reads a long input and writes an answer. The input contains five labelled phrases, and the model is asked to find them. Every plotted run returned all five correctly.
Conversation limits are written as simultaneous conversations and tokens per conversation. Full test settings remain in the benchmark documentation.
The measurements and Ansible recipes are unchanged.
Winning Qwen and DeepSeek setups
Winning setup for Qwen: Strata HIP UD-Q4_K_XL with Qwen3.8-Flash-Next.
Winning setup for DeepSeek: Strix Halo llama.cpp Vulkan IQ3_XXS with DeepSeek-V4-Flash-0731.
The table and throughput chart identify the same four setups: these two winning setups, the Qwen Vulkan comparison baseline, and the DeepSeek Lucebox comparison baseline. The chart contains single-session context curves only. Four-slot Qwen qualification is documented separately in the recipe and benchmark tables.
Pinned runtime, model, and Ansible settings are unchanged.
Strix Halo LLM: Qwen four-slot setup and matched benchmarks
Pinned LLM setups for a 128 GiB Ryzen AI Max+ 395 / Radeon 8060S Strix Halo box.
- Qwen3.8-Flash-Next / Strata HIP UD-Q4_K_XL is the default: four 262,144-token slots, 30/30 answer quality, and 14.23 GiB measured non-CMA headroom.
- The matched 128K retrieval workload takes 168.31 seconds with the four-slot recipe versus 329.35 seconds with Qwen llama.cpp Vulkan. The single-session Strata curve covers all ten measured context sizes.
- One chart includes input-processing and generation throughput for both Qwen runtimes and both qualified DeepSeek runtimes. Exact prompt hashes, settings, budgets, and aggregates are published in
benchmarks/results.json. - Ansible pins Strata v0.1.40 commit
1735d6471df29b42c26170efaac1f1446a58640f, the gfx1151 ROCm SDK, target and MTP model revisions, generated tensor hashes, and build dependencies. - The controller is
bin/strixctl;STRIX_SYSTEMselects the setup. DeepSeek Vulkan IQ3_XXS and Lucebox ROCm ROCmFPX recipes remain available.
Install and host requirements · Qwen Ansible recipe · Measurements and quality budgets
v1.6.0 — Lucebox ROCm decode update
Lucebox ROCm ROCmFPX
- Pins the leading alternative to unmodified
Luce-Org/luceboxPR #667 commit5eb4fbe95e13944ad964bd7e42980bca518e3d5c. - Updates the reproducible Ansible release to
rocm-rocmfpx-128k-v4, including the qualified build path, source identity, test targets, binary size, and SHA-256. - Publishes matched cold-retrieval measurements at 7,680, 30,720, and 122,879 input tokens and regenerates the comparison chart.
| Exact input | Input processing | Generation | Retrieval |
|---|---|---|---|
| 7,680 | 213.91 tok/s | 36.90 tok/s | 5/5 |
| 30,720 | 201.68 tok/s | 32.00 tok/s | 5/5 |
| 122,879 | 142.82 tok/s | 29.60 tok/s | 5/5 |
The Lucebox quality result remains 29/30, and all 12 Hermes tool-result cases pass. Strix Halo llama.cpp Vulkan IQ3_XXS v0.7.0 remains the default.
Thanks to @davide221 for the PR #667 implementation and follow-up optimization.
v1.5.0 — Lucebox ROCm ROCmFPX alternative
Lucebox ROCm ROCmFPX alternative
The leading ROCm alternative now builds the unmodified Lucebox commit 2f136181b0b387592e413a81dedc0cd79991e128 from Lucebox PR 667. The Ansible manifest pins the clean source tree, submodule, ROCm package set, build inputs, server binary, models, 128K runtime profile, and tested block-radix top-k path. The four superseded local patches are no longer required.
At the matched 122,879-token cold-retrieval point, Lucebox measured 145.68 tok/s input processing and 26.50 tok/s generation with 5/5 byte-exact retrieval. Its published quality result is 29/30: math_10 exhausted the frozen 2,048-token completion limit before emitting the expected answer. The default Strix Halo llama.cpp Vulkan IQ3_XXS system remains 226.82 tok/s input processing, 35.73 tok/s generation, and 30/30 quality at the same context point.
Against the preceding Lucebox alternative under the matched qualification run, the new runtime improved 122,879-token input processing by 9.4%, generation by 46.4%, and 2,048-prompt/510-generation decode by 26.6%.
The release also corrects the documented per-suite quality completion limits and regenerates the benchmark chart from the pinned result data.
v1.4.0 — Official Nathan v0.7.0
Production default
Strix Halo llama.cpp Vulkan IQ3_XXS now uses Nathan’s unmodified official v0.7.0 portable release at source commit 95c828eeb315a7ba6f50fcf632c29f8de2ec1a6e. The previous local v0.6.6 Lightning Indexer overlay is no longer part of the current production tree. The default retains UD-IQ3_XXS, the Q2_K/Q8_0 DSpark drafter with n_max=4, q8_0 K/V, one 524,288-token slot, 120 W host policy, DeepSeek agentic sampling defaults, and the qualified demand-based fan governor.
Qualified performance
Across the matched eleven-point cold-retrieval curve from 2,040 through 491,520 prompt tokens, v0.7.0 improves geometric-mean input processing by 4.10% and generation by 7.74% over the qualified v0.6.6 build. At 491,520 tokens it reaches 163.23 input tok/s and 25.02 output tok/s, gains of 11.95% and 25.05%. DSpark generation is 2.11x the matched no-spec arm.
All eleven rows recover 5/5 keys. Qualification passes 30/30 corrected thinking-off tasks, 12/12 held-out comparisons, 15/15 maximum-reasoning repeats, five eligible prefix-cache hits, Responses streaming and namespace contracts, JSON normalization, and live Exa search.
Lucebox ROCm ROCmFPX remains available as the qualified alternative; the benchmark chart retains its matched 122,879-token result as a reference.
Upstream report
The matched qualification table and 512K speculative A/B were reported upstream: Nathanw1014/llama.cpp#6 (comment)