Issues / #1831
#1831 Windows HIP: START-HERE.bat --calibrate works on RX 7900 XTX (gfx1100) - ~15% decode gain
open · @twining69-tech · 0 commentaires · Sur GitHub
BenchmarksSetup & installServer & APIAMD / HIPModels & quantsDocumentationWindows
Description
(Reporting per docs/AMD_HIP.md "Reporting a Windows AMD run"; calibration on HIP is tracked in #566, the Windows
section says "no calibration" — it does run, so here is the data.)
## Machine
- Windows 11 (64-bit), AMD Ryzen 9 7900X (12 cores), 64 GB DDR5 (63 GB per hardware key), NVMe
- **RX 7900 XTX 24 GB (gfx1100)**, driver 32.0.31041.1004 (2026-08-16) — drives the desktop
- Strata **0.1.41**, prebuilt `strata-windows-x64-hip.zip` (`BUILD.json`: backend hip, windows-x64, ROCm
10.2.0a20260930, hipblaslt_version 100500)
- Model: Qwen3.8-Flash-Next GSQ-RCO **IQ3_S** (~83 GB, 2 shards), `--max-context 131072 --kv int8 --spec 4`,
MTP, `--expert-cache auto`; hipBLASLt table `gfx1100-hipblaslt-100500.txt` active (matches the bundled lib)
## What I ran
`START-HERE.bat --calibrate --yes` (setup.py --calibrate). Setup does not *offer* the tuning on Windows AMD —
correct per the docs — but the explicit flag path runs it: it measured the settings, wrote them into
`strata-iq3_s.json`, saved them per-PC in `%APPDATA%\Strata\settings.json` under the key
`AMD Radeon RX 7900 XTX (gfx1100)|24GB|AMD Ryzen 9 7900X ...|63GB|qwen3.8-flash-next-iq3_s|131072|text`,
and auto-started the model afterwards. No errors, no intervention.
Chosen settings: `--pcie-frac 0.35 --spec-min-p 0.70 --adapt-every 1 --adapt-swaps 160 --adapt-decay 0.97`
(benchmark report: 89.5 tok/s).
## Before / after (engine's own per-request "generated in ... ms" lines, warm)
| | decode |
|---|---|
| before calibration (defaults, informal single measurements) | ~72 tok/s |
| calibration benchmark | 89.5 tok/s |
| after calibration, sustained | **80–85 tok/s** (peak 94.2 on a short request) |
Expert cache hit rate 80–87% (only ~5–6% of routed experts read over PCIe), draft acceptance ~85–90%
(e.g. 525/597, 297/392, 120/123). So roughly **+15% decode** on this PC.
## strata-device --list-devices
```
device 0: AMD Radeon RX 7900 XTX
arch gfx1100, 24.0 GiB, wave32
device 1: AMD Radeon(TM) Graphics
arch gfx1036, 43.6 GiB, wave32
cannot run: GPU 1 ... not an architecture this Strata engine was compiled for (...)
```
## strata-device --selftest
```
device 0: AMD Radeon RX 7900 XTX
HIP arch gfx1100 wave32 (compiled for gfx1100,gfx1101,gfx1102,gfx1200,gfx1201,gfx1030,gfx1151)
multiprocessors 48
VRAM total / free 23.984 GiB / 21.288 GiB
driver / runtime 71726391 / 71726391
HIP runtime C:\Users\athm\Strata\engine\amdhip64_7.dll
memory plan --max-context 20480
KV + indexer keys 0.267387 GB
expert cache 5.675613 GB (4105 slots of 1,382,400 B)
VRAM pool 5.943000 GB
card free 21.288 GiB
plan + KV vs free FITS
selftest: arena 0.062 GiB ... over-allocation refused as required
strata-device selftest OK
strata: Windows budgets 21948 of this card's 24560 MiB for this process; free VRAM is counted within that
```
## Speed lines from strata-iq3_s.log (after calibration)
```
strata serve: prompt 39 tokens = 0 reused + 39 read in 397 ms (98.3 tok/s), 546 generated in 6642 ms (82.2 tok/s), drafts accepted 297 of 392, 1 checkpoints
strata serve: decode expert cache hit rate: 87.0% (259241 hits / 297810 lookups); 11310 more read by the GPU over PCIe (3.7% of all 309120 routed)
strata serve: prompt 32217 tokens = 31983 reused + 234 read in 1817 ms, 865 generated in 10531 ms (82.1 tok/s), drafts accepted 525 of 597, 6 checkpoints
strata serve: prompt 33280 tokens = 0 reused + 33280 read in 23009 ms (1446.4 tok/s), 455 generated in 5391 ms (84.4 tok/s), drafts accepted 285 of 321, 3 checkpoints
strata serve: prompt 31907 tokens = 31641 reused + 266 read in 2001 ms, 76 generated in 806 ms (94.2 tok/s), drafts accepted 52 of 53, 6 checkpoints
```
(agent traffic: 30–33K-token prompts, prefix reuse working, prefill 1,400+ tok/s on fresh 33K reads.)
## One observation about the saved calibration
The run saves the result under the AMD hardware key as described for #566 — but `setup.py`'s
`setup_calibration()` still has `if hip and WIN: return None` ("Windows HIP keeps the defaults for now,
not tried there"). So on Windows the saved calibration is **not re-applied** after a reinstall/update,
even though it was just measured successfully on this PC. If the controls are now considered checked on
HIP, that gate may be worth revisiting for Windows too.
## Notes
- One RAM caveat (not a bug): the calibration starts its own engine instance, so the already-running
server must be stopped first or the two instances fight over host RAM with an 83 GB GGUF. Stopping
`strata.exe` first made the run clean.
- Everything else on this install (server, OpenAI/Anthropic endpoints, prefix reuse, MTP spec-decode)
has been running stable for days on this PC.
Sur le site
Liens install, modèles, releases.