v0.1.8-alpha.1 — gfx1201 unblock + gfx1151 autodetect + GGUF import + docs rewrite
Point release rolling up the post-v0.1.8-alpha work. Two contributor PRs land in this cycle plus a feature on the input side and a docs nuke + rewrite.
Highlights
-
RDNA4 / 9070 XT unblock end-to-end (#54). gfx1201 WMMA codegen crash resolved via dispatch fallback to dot2 (
6e100c2); first canonical gfx12 WMMA scaffold (6924f2a) with C-output mapping derived from CK trait math; full validated 5-kernel + 6-channel-test contributor port (PR #56, @RobinVanCauter) hardware-tested on R9700 silicon. C-mappingacc[j] = C[8*(tid>>4) + j][tid & 15]validated. Public dispatch still routes gfx12 through dot2 fallback pending perf measurement (#57); the WMMA methods onGpuare exposed for channel-tests now and ready to flip when numbers land. -
gfx1151 / Strix Halo autodetect fix (PR #59, @KotDath). KFD
gfx_target_version 110501was decoding togfx11051instead ofgfx1151. Same refactor incidentally fixes a latent same-class bug for any arch with non-zero step bytes (100302 → gfx1003was equally wrong before this PR). Hardware-validated on Ryzen AI Max+ 395 / Radeon 8060S. Speed-baseline contribution welcome at #61. -
GGUF → HFQ4 / MQ4 import (new feature).
hipfire quantize <file.gguf>accepts any GGUF the engine can load (Q4_K_M / Q8_0 / Q4_0 / Q6_K / F16 / BF16 / F32 source quants) and re-quantizes to hipfire's native HFQ4-G256 (default for dense Llama / Mistral / older Qwen) or MQ4-G256 (FWHT-rotated, opt-in for Qwen 3.5+ family). Tensor names translated GGUF → safetensors style at write; tokenizer preserved verbatim undermeta.gguf_metaso converted files are self-sufficient.hipfire quantize ./tinyllama.Q4_K_M.gguf --install --register tinyllama:1b-gguf hipfire run tinyllama:1b-gguf "..."Quality is lower than quantizing from full-precision safetensors (it's a double-quant roundtrip — raise to
--format hf6or--format mq6if you have the disk space). -
dflash_modedefault flipped tooff(wasauto). DFlash is now opt-in:hipfire config set dflash_mode autore-enables the genre-conditional auto-routing. Per-genre measurements showed DFlash a clear win on code, modest on instruct, and a net loss on long-form prose. Default-on overpromised; default-off + opt-in matches the actual win surface. -
Docs nuke + rewrite. The 39-file
docs/tree (mix of canonical user docs and operational artifacts: agent prompts, daily standups, port plans, perf checkpoints) consolidated to 10 canonical pages —GETTING_STARTED/CLI/MODELS/QUANTIZE/CONFIG/SERVE/BENCHMARKS/ARCHITECTURE/QUANTIZATION/methodology/perf-benchmarking. README cut 371 → 89 lines. New top-levelLICENSEfile (was missing despite README andCargo.tomldeclaring MIT). -
New
hipfire-kernel-tuningagent skill. Codifies the empirical kernel-perf methodology from this repo's git log: 6-step workflow, levers catalog (multi-row, K-tile depth, wave64 port,s_prefetch_data, WMMA / MFMA, fused projections, ISA flags, rocBLAS fallback), cross-arch dispatch routing rules, and five worked case studies — wave64 CDNA3 port (+2× MI300X decode,4105035), nontemporal-load fake-win revert (-13% caught only by clean-baseline bisect,34eb024), gfx11 WMMA C-mapping silent corruption (~6 weeks before catch,b7ac66a), and others. -
27B DFlash perf restored (
9a2c667). PR #32 cleanup-dead-wmma-kernels removed kernels that were on the K4 / WMMA dispatch path for 27B verify-shape GEMMs. Restored via revert + cherry-pick. Empirical anchor: 27B-3.5 LRU code DFlash @ max=120 = 199 tok/s τ=10.36 (was: 95 tok/s in pre-revert state). -
Vision correctness (#23 / PR #35). G↔B channel transposition fixed in preprocessing; regression test pinned at
crates/engine/tests/channel_order.rs.
Issues filed for follow-up
Hardware-gated or discussion-stage, cleanly punt to the next release cycle:
- #57 — gfx12 WMMA dispatch wiring + perf vs dot2 (R9700 / 9070 XT)
- #58 — multi-GPU support roadmap (PP first, TP follow-up)
- #60 — prefill scaling regression vs llama.cpp at pp≥512 on 9B+
- #61 — gfx1151 Strix Halo speed-baseline + perf bench
Upgrade
hipfire update
No config migration. ~/.hipfire/config.json from v0.1.8-alpha remains compatible. Re-enable DFlash explicitly:
hipfire config set dflash_mode auto
Full changelog: CHANGELOG.md