Pull requests / #3029
#3029 docs: add a Windows Strix Halo (gfx1151) deployment guide
open · @HaiYunChuang · 0 comments · View on GitHub
BenchmarksSetup & installAMD / HIPNVIDIA / CUDAModels & quantsDocumentationWindowsLinux
Description
## What this adds `docs/STRIX_HALO_WINDOWS.md`, a companion to `docs/STRIX_HALO.md` for the Windows path. `STRIX_HALO.md` documents the Linux build and the release notes mark the Windows one as untested on a Strix Halo; this document records a working Windows deployment on the same hardware, with measured numbers and the traps that cost time. ## Why The Windows HIP build has carried gfx1151 code since 0.1.40, but no Windows configuration was documented. Three findings are worth having in writing: - `--mmap-experts` is the single biggest lever on Windows: the default resident expert arena pins 46.84 GiB into host memory, which WDDM counts against the process GPU budget, leaving 2.25 GiB free and squeezing the expert cache to 320 slots (28.0 tok/s). Dropping the arena for mmap over the GGUF shards takes the cache to 24,576 slots and decode to 37.7 tok/s (+35%). - `STRATA_SH_STREAM=0`: the switch is on by default on gfx1151 and pays on Linux, but costs 13% here on Windows (34.1 -> 39.6 tok/s), matching issue #816. - `--kv-streaming` is a `setup` option, not an engine option, and KV streaming is not usable at 128K on this machine at all while `--mmap-experts` is available. ## Impact Documentation only; no code or engine change. Windows Strix Halo users get a configuration that reaches about 40 tok/s on IQ3_S (39.6 Chinese, 42.3 English) at 128K, within a few percent of the Linux reference (42.8 in `STRIX_HALO.md` section 6), and 34.0 tok/s at the model's native 256K context. ## What was checked - Every number is a median of three runs on one machine, and the doc names the engine build for each row (0.1.41 for the tuning rows, 0.1.45 for the context and version rows). - The 0.1.43 -> 0.1.45 upgrade was A/B'd and changes nothing here (34.0 against 32.6), consistent with the release notes: the default speed-ups in 0.1.42 and 0.1.43 are CUDA and RDNA4 only, and 0.1.45 states it did not run on Windows. gfx1151's default switch count does go from 17 to 18, the addition being `STRATA_TOPK_REG_MIN_BLOCKS`. - The 128K -> 256K change was A/B'd back to back: 32.6 at 256K against 30.8 at 128K, i.e. flat, with the expert cache unchanged at 24,576 slots and about 1.8 GiB of VRAM taken by the KV. 262,144 is the native trained length, so no rope scaling is involved. - `not measured` is used wherever a value was not taken rather than estimated. - Section 3.5 lists two upstream gfx1151 switches (`STRATA_PF_F16`, `STRATA_REFILL_PARTS`) and the remaining Linux-tuned defaults as leads that were not confirmed: the first A/B attempt was invalidated by page-cache drift (the engine restarts took 57 s, 70 s and 141 s to fill the expert cache), so they are listed as open rather than claimed.
Related on this site
Quick links to related pages.