Repository navigation
bench: add RX 7900 XT results for IQ3_S and IQ3_XXS - #1376
matrix9neonebuchadnezzar2199-sketch wants to merge 4 commits into
Conversation
Same Windows machine and engine, so the two sizes can be compared without an engine change. Co-authored-by: Cursor <cursoragent@cursor.com>
Same prompts and arguments as 0.1.40.2. The auto expert cache picked a different size, so the IQ3_S gap is not a pure engine comparison. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Follow-up on the same PC: I ran the same prompts again with the v0.1.40 Windows HIP build (strata.exe only; same packs and the same arguments). Rows are in the report folder as runs-iq3_s-0140 and runs-iq3_xxs-0140. IQ3_XXS, long prompt, median (range):
IQ3_S, long prompt, median (range):
Expert cache was auto on both, and it did not pick the same size for IQ3_S:
|
The first IQ3_S gap left expert-cache auto free to pick a larger cache. This run raises the reserve so free VRAM matches the 0.1.40 start. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The IQ3_S slowdown was checked one hypothesis at a time.
It did. Auto settled at 4,299 slots (8.20 GiB) with 2,224 MiB free. The little-room warning from the 323 MiB start was absent. Long-prompt medians of 3 counted runs. Every cache_n is 0. Percents on the last row are against the 0.1.40 medians.
The reserve-2600 ranges overlap the 0.1.40 ranges. Warm-up decode was 46.0 tok/s, and the three counted runs stayed at 44.9–59.6. They did not fall into the 21 tok/s band. All three quoted amber-keel-2904 and finished with stop. On 0.1.40.2 alone, reserve 700 to 2600 is +33.5% on the long prompt (1,015.8 to 1,355.9) and +128% on decode (24.3 to 55.5). With the cache size and free VRAM held next to the 0.1.40 start, this 0.1.40.2 IQ3_S run matches that 0.1.40 run. The earlier drop tracked the auto cache that left 323 MiB free. Rows: bench/results/2026-10-07-community-rx-7900-xt/runs-iq3_s-01402-reserve.json |
…MiB free after the cache (#1376) RX 7900 XT 20 GB, IQ3_S, Windows HIP, auto cache, default reserve 700: 0.1.40 ended with 4,255 slots (8.12 GiB) and 2,170 MiB free, 0.1.40.2 with 5,512 slots (10.48 GiB) and 323 MiB free; WDDM paged and decode fell from 51.7 to 21-25 tok/s. With --vram-reserve-mib 2600: 4,299 slots (8.20 GiB), 2,224 MiB free, long prompt 1,015.8 -> 1,355.9 tok/s (+33.5%), decode 24.3 -> 55.5 tok/s (+128%), back inside 0.1.40's ranges. A reserve given on the command line is kept; a smaller card keeps its own sizing. The cache size changes no output bit.
…on Windows keeps its sizing (no change measured there)
|
Thank you, this is the most useful kind of report: same PC, same packs, one variable changed at a time. What we found: the auto sizing formula (free VRAM minus the reserve, divided by the slot size) and the check after the slots are written are the same in 0.1.40 and 0.1.40.2, so we cannot point to one commit that made auto take more for the same reserve. We could not reproduce it on an NVIDIA card either: on our RTX 5070 with Q2_0, 0.1.40 and 0.1.40.2 pick the same slot count and leave the same VRAM free (408 vs 406 MiB), so the difference you saw is in how much VRAM was free before the cache was sized and what was allocated after it on your Windows HIP setup, which we cannot see from here. What your numbers do show is that the default 700 MiB is not enough headroom for this card under WDDM: 0.1.40 happened to end with 2,170 MiB free, 0.1.40.2 with 323 MiB, and with So 0.1.40.3 restores that headroom by default: on Windows, with Could you try the 0.1.40.3 HIP zip with no reserve setting and paste the |
The auto cache now leaves about 2 GiB free, and the long-prompt rates match the 0.1.40 run. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Follow-up on engine 0.1.40.3, same PC, same IQ3_S pack, same prompts, and the same arguments as the slow 0.1.40.2 run: expert cache auto, no explicit --vram-reserve-mib. /v1/status reported engine 0.1.40.3. The start log applied the #1376 floor: on a card this size, auto keeps 2,560 MiB free after the cache. It reserved 2,560 MiB from 13.74 GiB free (proposed 4,445 slots), shrank once because only 1,267 MiB was free once the slots were written, and settled at 5,097 slots (9.69 GiB). With everything loaded, 2,176 MiB was free. That is next to the 0.1.40 start (4,255 slots, 8.12 GiB, 2,170 MiB free) and the manual reserve-2600 run on 0.1.40.2 (4,299 slots, 8.20 GiB, 2,224 MiB free). The little-room warning from the 323 MiB start was absent. Long-prompt medians of 3 counted runs. Every cache_n is 0. Percents on the last row are against the 0.1.40 medians.
The 0.1.40.3 prompt range does not overlap the 0.1.40 prompt range. The decode ranges do. Warm-up decode was 50.5 tok/s, and the three counted runs stayed at 50.8 to 61.9. They did not fall into the 21 tok/s band. All three quoted amber-keel-2904 and finished with stop. Against the slow 0.1.40.2 auto run, the long prompt is +35.4% (1,015.8 to 1,375.8) and decode is +133% (24.3 to 56.6). With auto left to choose the cache, 0.1.40.3 left about 2 GiB free, and its long-prompt medians are within 5% of the 0.1.40 run. |
265 commits: the 0.1.40.2 batch (F4 verify windows, the Linux file tier Niko1221#1194, the stager wait Niko1221#1057, opt-in CPU share Niko1221#1282, Intel Arc) and the 0.1.40.3 hotfix (Intel Arc install path and A750 first answer, Windows AMD cache floor Niko1221#1376, bundled HIP runtime Niko1221#461, Docker config links Niko1221#1244, the Niko1221#1357 MTP router guard, the tokenizer hardening Niko1221#1385). main keeps 33af099 (AMD PCIe link speed/width and GPU name detection); its 34 added telemetry lines are all present after the merge.
…MiB free after the cache (Niko1221#1376) RX 7900 XT 20 GB, IQ3_S, Windows HIP, auto cache, default reserve 700: 0.1.40 ended with 4,255 slots (8.12 GiB) and 2,170 MiB free, 0.1.40.2 with 5,512 slots (10.48 GiB) and 323 MiB free; WDDM paged and decode fell from 51.7 to 21-25 tok/s. With --vram-reserve-mib 2600: 4,299 slots (8.20 GiB), 2,224 MiB free, long prompt 1,015.8 -> 1,355.9 tok/s (+33.5%), decode 24.3 -> 55.5 tok/s (+128%), back inside 0.1.40's ranges. A reserve given on the command line is kept; a smaller card keeps its own sizing. The cache size changes no output bit.
…y; CUDA on Windows keeps its sizing (no change measured there)
|
Thanks for the pull request. We're resetting the tracker for 0.2.0-beta. There are more than 1,300 open issues and pull requests, too many for us to review properly, so we're closing everything that isn't being worked on right now. Closed here does not mean rejected. To reopen it takes about two minutes:
The rules are in CONTRIBUTING.md. |
…rd, Niko1221#1376 HIP-only, the card check with Niko1221#461's probe) - README, docs/NVFP4.md and the bundle version Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VZy1yKaDDiA8a7svdwaHio
Same Windows machine and engine, so the two sizes can be compared without an engine change.
Hardware
RX 7900 XT (20464 MiB, gfx1100), Ryzen 7 9800X3D, 95.6 GiB RAM, Windows 11 Pro build 26300. Ready-made HIP engine 0.1.40.2 at e8ca9af. Model files are on a separate NVMe.
Model
Qwen3.8-Flash-Next GSQ-RCO, IQ3_S and IQ3_XXS, one loaded at a time. Vision off.
Configurations
Three fresh runs each of a ~100-token prompt and a 38,184-token synthetic log, with max_tokens set to 256. Rates come from last_timings, not from dividing generated tokens by the whole request. cache_n was 0 on every run.
Report:
bench/results/2026-10-07-community-rx-7900-xt/Limitations
One machine. No TTFT, no needle sweep, and no VRAM sample during generation. The short-prompt tok/s figure is overhead, not prefill speed. On IQ3_S the counted long-prompt decode (24.3 tok/s) was slower than its warm-up (51.7); the cause was not isolated. On IQ3_XXS one long run hit the 256-token cap and the visible answer was cut off at
amber-keel-2. This does not replace the existing RX 7900 XTX report; that machine used different settings.