Issues / #3263
#3263 [Other] 0.2.0-beta prebuilt hip-rx7900 engine on a real RX 7900 XTX (gfx1100, Linux): runs, same speed as 0.1.44.1; GPU picture reader works; two packaging notes
open · @faf-net · 0 comments · View on GitHub
BenchmarksSetup & installServer & APIAMD / HIPModels & quantsWindowsLinux
Description
## Problem and result The 0.2.0-beta notes say the RX 7000 builds compile but no RX 7000 card ran them. Here is one: the prebuilt engine package `strata-engine-0.1.45.3-linux-x86_64-hip-rx7900.tar.gz` (SHA-256 checked against `SHA256SUMS.txt`) with the control package `strata-control-0.1.45.3-linux-x86_64`, on a single **RX 7900 XTX (gfx1100)**, Linux. Everything else was kept as in my 0.1.44.1 report (#2904) so the numbers compare directly: Qwen3.8-Flash-Next IQ3_XXS native pack, MTP head `rt`, `--max-context 262144 --kv int8 --spec 4 --spec-min-p 0.5 --vram-reserve-mib 832 --pool-workers 9 --pcie-frac 0`, conversation cache 4,608 MiB, hipBLASLt table `gfx1100-hipblaslt-100200` (the engine reported "hipBLASLt tuning enabled (26 rows, gfx1100, version 100200)"). **It runs.** Load 17.7 s from the page cache; `strata doctor` exit 0; no errors in the engine log. | `tools/strata_bench.py --long` (median, n=3/9/15) | 0.1.44.1 (`296b59d`, #2904) | 0.2.0-beta `hip-rx7900` | |---|---:|---:| | chat decode tok/s | 63.7 | 61.3 (47.3–72.1) | | 4K / 16K / 32K prompt tok/s | 741 / 1,195 / 1,224 | 741 / 1,207 / 1,223 | | agent cache hit | 68.6 % | 68.6 % | | agent decode tok/s | 74.0 | 73.2 | `needle_bench.py` (depths 10/50/90 %): 3/3 at 32K, 3/3 at 128K, 3/3 at 250K (251,626 prompt tokens, 217–229 s each). Our own task set (`bench.py`: code, logic, refusals, tool calls; automatic checks, one run): 27 of 29 (code 7/8, logic 9/9, tools 3/3, refusals 8/9), against 26 (0.1.44.1) and 27 (0.1.45) on this box on 2026-10-17. Short / long answer 59.7 / 64.0 tok/s, agent session (6 turns) 40.6–48.0 s. **Fresh engines with MTP (the R9700 note in Known limits):** 24 fresh starts of this engine, each with a warm-up and then two fresh 4K prompts. 23 read at 662–684 tok/s; **one read both prompts at 420 and 427 tok/s, about 38 % slower**. Its start-up lines (memory guard, read probes, load speed, expert slots, hipBLASLt) matched the others within noise. The same test on 0.1.44.1: 0 of 24 slow (646–682 tok/s). So the effect shows up on gfx1100 too, but here in about 1 of 24 starts, not half. **Picture reader (new in 0.2.0):** the package carries `strata-vision` (CPU) and `strata-vision-hip` (GPU). Both read all four test pictures correctly (a red square, the number 4728, three coloured squares, the number 8274 drawn large). | | CPU reader (`gpu: false`, 8 threads, max 300 tokens) | GPU reader (`gpu: true`, max 1024 tokens) | |---|---:|---:| | expert cache | 8,830 slots, 14.30 GiB | **8,054 slots, 13.02 GiB** | | "VRAM free with everything loaded" | 726 MiB | 728 MiB | | small picture, whole request | 1.36–1.58 s | 1.33–1.42 s | | large picture | 5.62 s (325 prompt tokens) | 3.50 s (504 prompt tokens) | So on a 24 GB card the GPU reader costs 776 expert slots (1.28 GiB); the engine sizes the cache around it, and free VRAM stays the same. Decode speed with the smaller cache was not measured. ## Two packaging notes 1. The engine binary's `--version` prints `strata 0.1.45`, while its `BUILD.json` and `engine-component.json` and the control package's `VERSION` say 0.1.45.3. 2. The tarball holds **1,080 extra files, 423 MiB uncompressed**, next to the binaries: `strata.<n>.hipv4-amdgcn-amd-amdhsa--gfx1100/1101/1102`, `strata.<n>.host-x86_64-unknown-linux-gnu-`, and the same for `strata-vision-hip` and `librocblas.so.5.*`. They look like unbundled code objects. They are not listed in `engine-component.json` (579 entries, none of them). I did not test whether the engine runs without them. ## Validation **Passed:** everything above, on 2026-10-19, prebuilt engine 0.1.45.3 `hip-rx7900` (`build_id f6d65cb58+rocm`), kernel 6.18.15, container Ubuntu 24.04 with `/dev/kfd` and `/dev/dri`; server started with the control package's own Python (`python/bin/python3 serve/server.py --engine strata --config ...`), `STRATA_ENGINE` set to the package. **Failed:** one 250K needle run was cut off by my own setup (the model manager in front of the server unloaded the idle model while `needle_bench.py` talked to the backend directly), not by Strata; repeated, see above. **Not run:** the AppImage and the installer (`install.sh`), `strata launch`, the app; Windows; gfx1101/1102; the identity gate. Machine: UGREEN iDX6011 Pro NAS, Core Ultra 7 255H, 64 GB, RX 7900 XTX over OCuLink PCIe 4.0 x4, UGOS Pro 1.19 (Debian 12 base). Raw data: #2904, folder `followup-2026-10-19/strata-0.2.0-beta/`. The hybrid-CPU worker count is a separate issue: #3262.
Related on this site
Quick links to related pages.