Windows: VMM KV backend crashes at first decode — hipMemSetAccess: invalid argument; kv_backend=contiguous works
Splitting this from #634 (GGUF naming) since it's an independent Windows runtime issue found during the same bring-up.
Repro
master 80a572c824dc, Windows 11, RX 7900 XTX (gfx1100), ROCm 7.2 HIP SDK. Native registry model, default config (memory.kv_backend unset → resolves to vmm):
PS> hipfire run qwen3.5-0.8b.mq4 "..."
GPU dev 1: gfx1100 (25.8 GB VRAM, HIP 7.2)
KV cache: Q8 vmm (6/24 layers carry KV; ... physical_cap=262144 ...)
<model loads fully>
hipfire: daemon error: [internal retryable=false ...] forward_scratch decode:
HipError(1): hipMemSetAccess: invalid argument; VMM access prefix
base=0x4408000000 size=4194304 (new segment address=0x4408200000 offset=2097152
size=2097152) granularity=65536
Model load and kernel JIT complete; the failure fires on the first decode's VMM segment commit.
Workaround (verified)
PS> hipfire config set kv_backend contiguous
PS> hipfire run qwen3.5-0.8b.mq4 "..."
KV cache: q8 (6/24 layers carry KV, others placeholder)
<full generation, coherent output>
Suggestion
Either default kv_backend away from vmm when running on Windows HIP (runtime probe at init would be cleaner), or document the knob in GETTING_STARTED's Windows section — nothing today hints that the default allocator is broken on this platform.
Windows: VMM KV backend crashes at first decode —
hipMemSetAccess: invalid argument;kv_backend=contiguousworksSplitting this from #634 (GGUF naming) since it's an independent Windows runtime issue found during the same bring-up.
Repro
master
80a572c824dc, Windows 11, RX 7900 XTX (gfx1100), ROCm 7.2 HIP SDK. Native registry model, default config (memory.kv_backendunset → resolves to vmm):Model load and kernel JIT complete; the failure fires on the first decode's VMM segment commit.
Workaround (verified)
Suggestion
Either default
kv_backendaway fromvmmwhen running on Windows HIP (runtime probe at init would be cleaner), or document the knob in GETTING_STARTED's Windows section — nothing today hints that the default allocator is broken on this platform.