反馈 / #2013

#2013 [Bug]: Windows Strix Halo (gfx1151): prebuilt HIP engine never becomes ready, sticky "unspecified launch failure" during serve init

open · @400msstack · 0 评论 · 去 GitHub 看

Setup & installServer & APIAMD / HIPNVIDIA / CUDAModels & quantsSecurityDocumentationWindowsLinux

说明

### What happened

First Windows Strix Halo report (docs/STRIX_HALO.md says this combination is untested so far).

Setup (`START-HERE.bat --yes --family qwen --model IQ3_S --no-start`) completed fine: GPU detected as gfx1151, `--check` reported the PC can run Strata, the model downloaded and the packs/MTP layer were built. But the engine never reaches "ready": the model loads, `session is up (engine 0.1.43)` is printed, and then a GPU error during serve initialisation kills it. It never got as far as a request (I started it with `tools/strata_bench.py --long`, which stops when the server does not come up).

What I tried (each one a fresh start; nothing else using the GPU, Unsloth/LM Studio closed):

| # | Change from setup's config | Last line before exit |
|---|---|---|
| 1 | none (setup's `strata-iq3_s.json`) | `prefill: setting the FP16 activation image failed: unspecified launch failure` |
| 2 | `STRATA_GFX1151_DEFAULTS=0` | same as 1 |
| 3 | `STRATA_HIPBLASLT_TUNING` removed, `--prefill 2048`, `STRATA_PF_STEP_SYNC=1` | gets further: `strata serve: cannot create the refill stream` |
| 4 | 3 + `STRATA_GFX1151_DEFAULTS=0` + `AMD_SERIALIZE_KERNEL=3` + `HIP_LAUNCH_BLOCKING=1` | `strata serve: verify: stream create failed` |

So the place it dies moves with the settings, but it always looks like a sticky error left by an earlier kernel (the failing call is a `cudaMemcpyToSymbol` / `cudaStreamCreateWithFlags` that should not fail on its own). With `AMD_SERIALIZE_KERNEL=3` + `HIP_LAUNCH_BLOCKING=1` the log still did not name a faulting kernel.

Two things that look odd to me:

- The expert cache sees only **5.41 GiB free** (5.90 GiB with the defaults off) on a 64 GB BIOS carve-out, right after `cudaHostRegister PORTABLE ok` for the ~47 GiB expert arena. Maybe the registered host memory is being charged against the carve-out on Windows?
- Large pages are refused (`VirtualAlloc error 1314`, no "Lock pages in memory" privilege), so the arena uses 4 KB pages. Probably unrelated, but noting it.

Not tried yet: a smaller BIOS carve-out, `--expert-cache 0`, a 32K context, Linux. Happy to run any diagnostic build or env switch you want.

### Strata version, GPU, OS

0.1.43 prebuilt `strata-windows-x64-hip` (repo at 7695859, 2026-10-11; BUILD.json archs include gfx1151, rocm 10.2.0a20260930, hipBLASLt 100500) · AMD Ryzen AI Max+ 395 / Radeon 8060S (gfx1151), 128 GB LPDDR5X-8000 unified, BIOS carve-out 64 GB (OS sees 63.6 GB) · Windows 11 Pro build 26300, AMD driver 32.0.31036.15 (2026-08-12), page file 127 GB

### Engine log

Run 1 (setup's config), from `session is up` on:

```text
strata: gfx1151 (Strix Halo): 18 exact speed switches on by default (STRATA_GFX1151_DEFAULTS=0 turns them off; a switch you set is kept): GDN_HEAD GDN_PP GDN_CONVL2 GDN_NOY CVEC_FUSE HCD_EXACT PF_PAD Q8_PACKED Q6_PACKED MMVF_ROWS ATTN_LANECELL EXPERT_V2 TSUM LFUSE GDN_SPLIT QFUSE PLE_BATCH SH_STREAM
strata generate: memory guard: limit 63.6 GiB (source: meminfo), current 10.2 GiB, reclaimable cache credited 0.0 GiB; available 53.5 GiB (MemAvailable 53.5 GiB), floor 2560 MiB
strata generate: PCIe probe: 77.7 GB/s host->device (best of 77.7 77.0 75.5 75.3) -> pcie_frac 0.55 (default 0.55)
...
strata generate: GPU 0: AMD Radeon(TM) 8060S Graphics (gfx1151)
strata generate: expert arena: cudaHostRegister PORTABLE ok; large pages refused for 50295996416 B (GetLargePageMinimum=2097152, VirtualAlloc error 1314); using 4 KB pages
strata generate: loaded 46.84 GiB at 5.32 GiB/s
strata generate: CPU pool tasks/phase: 48 (automatic), participating threads: 16
strata generate: expert cache auto: Windows keeps 2560 MiB free after the cache on a card this size (...)
strata generate: expert cache auto: 5.41 GiB free, 2560 MiB reserved (+218 MiB for the draft head) -> 1087 slots
strata generate: expert cache 1398 slots, 2.70 GiB of VRAM; policy is PROFILE, ranked by routing frequency, no eviction.
strata generate: pre-filled 1398 of 1398 slots from the profile in 0.3 s (10102 MB/s); slot 0 verified
strata generate: R4 hit path ON - resident experts are computed on the GPU
strata generate: session is up (engine 0.1.43)
strata generate: token graph hit path: 1398 resident experts, decided on the device
strata serve: Windows commit: 113.0 GiB left of a 190.6 GiB limit (RAM + page file)
strata serve: prompt chunk auto: 4608 tokens, a 199-slot ring
strata serve: the prompt path borrows 1218 CUDA0 cache slots (2.35 GiB)
prefill gemm: hipBLASLt tuning enabled (32 rows, gfx1151, version 100500)
prefill: setting the FP16 activation image failed: unspecified launch failure
```

Run 3 (no tuning table, `--prefill 2048`), tail:

```text
strata serve: the prompt path borrows 970 CUDA0 cache slots (1.87 GiB)
strata hc: CUDA0: the hyper-connection read runs as staged (...); checked bit for bit against the plain read on this card (STRATA_HC_SPLIT=1 or 0 for the earlier ones)
strata verify: window up to 6 tokens, 75.1 MiB of device buffers
strata mtp: draft head over 106299 tokens (212.9 MiB)
strata serve: cannot create the refill stream
```

Run 4 (run 3 + defaults off + serialized launches), tail:

```text
strata generate: expert cache auto: 5.90 GiB free, 2560 MiB reserved (+218 MiB for the draft head) -> 1286 slots
strata generate: token graph hit path: 1656 resident experts, decided on the device
strata serve: the prompt path borrows 971 CUDA0 cache slots (1.86 GiB)
strata hc: CUDA0: the hyper-connection read runs as staged (...)
strata serve: verify: stream create failed
```

Engine command line (setup's): `strata.exe --serve --pack <data>\packs\iq3_s --native <...>-IQ3_S-00001-of-00002.gguf --ple-gguf <...>-IQ3_S-00002-of-00002.gguf --expert-profile data\expert-profile.bin --expert-cache auto --prefill auto --spec 4 --spec-min-p 0.5 --mtp <data>\mtp\rt --max-context 131072 --kv int8` (KV streaming off: setup said there was not enough RAM for it).

Full logs can be attached on request.

本站相关内容

相关页面的快捷入口。