Skip to content

v0.1.8-alpha.1 — gfx1201 unblock + gfx1151 autodetect + GGUF import + docs rewrite

Choose a tag to compare

@Kaden-Schutt Kaden-Schutt released this 27 Apr 09:26
· 4121 commits to master since this release

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-mapping acc[j] = C[8*(tid>>4) + j][tid & 15] validated. Public dispatch still routes gfx12 through dot2 fallback pending perf measurement (#57); the WMMA methods on Gpu are exposed for channel-tests now and ready to flip when numbers land.

  • gfx1151 / Strix Halo autodetect fix (PR #59, @KotDath). KFD gfx_target_version 110501 was decoding to gfx11051 instead of gfx1151. Same refactor incidentally fixes a latent same-class bug for any arch with non-zero step bytes (100302 → gfx1003 was 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 under meta.gguf_meta so 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 hf6 or --format mq6 if you have the disk space).

  • dflash_mode default flipped to off (was auto). DFlash is now opt-in: hipfire config set dflash_mode auto re-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-level LICENSE file (was missing despite README and Cargo.toml declaring MIT).

  • New hipfire-kernel-tuning agent 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