Issues / #2117

#2117 Community benchmark: RTX 4080 16 GB, Windows 11, IQ3_S at 262K context (0.1.43)

open · @omicron-s · 0 コメント · GitHub で見る

BenchmarksSetup & installAMD / HIPNVIDIA / CUDAModels & quantsWindows

本文

# Community benchmark on NVIDIA GeForce RTX 4080

Measured on 2026-10-12 with `tools/strata_bench.py` (suite 1, 3 runs per test, medians with ranges). Speeds are the engine's own timings; first-token times are measured by the client over HTTP. Speed only: no correctness check was run.

## Hardware and software

- GPU and VRAM: NVIDIA GeForce RTX 4080, 16 GiB VRAM; PCIe Gen4 x16 active (device max Gen4 x16, host max Gen5)
- CPU: 12th Gen Intel(R) Core(TM) i9-12900KF (16 cores, 24 threads); installed RAM: 127.8 GiB; storage: not measured
- OS: Windows 11 (10.0.26300); GPU driver: 610.74; CUDA: the release engine build carries CUDA 13.0 tables (sm_75/86/89/120, portable)
- Strata: project 0.1.43, commit 7695859a; engine 0.1.43
- Background workloads and power limits: the suite ran while an agent client session was connected to the same
  server but idle; no games or other benchmarks were running; power limits not recorded

## Model and configuration

- Model and quantization: `qwen3.8-flash-next-iq3_s`, from Hugging Face
  `ISTA-DASLab/Qwen3.8-Flash-Next-GSQ-RCO-GGUF`, revision `ed59f92082b1e93c0e96d60a8b11aab089b52f09`
  (model last modified 2026-09-29). SHA-256 computed locally over the whole files and matched against the
  Hugging Face LFS records:
  | file | size (B) | SHA-256 |
  | --- | ---: | --- |
  | `IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf` | 54,817,524,224 | `4c1eb2ceb4915e1192f4f386021897bde56a97f40a0bb78bb86465e0f7d2aca3` |
  | `IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00002-of-00002.gguf` | 28,800,138,432 | `316b46f3a2dbd68c900f43136ab9449f9dcc3725dfd8c794847c204bc161e113` |
  | `mmproj-Qwen3.8-Flash-Next-BF16.gguf` | 907,543,008 | `b1a82259702816a5330d7bd7607cd9676b11780e79ff7348c21103ff3ce49bd0` |
- The install's pack (`S:\Strata-data\packs\iq3_s`) was built by `setup.py` from these files; the run also
  loads a shipped expert profile and records a new one (`--expert-profile-save`).
- Context: 262144 tokens; parallel slots: 1
- Settings: the install's own configuration, unchanged; thinking off for the suite; temperature 0
- The exact engine args of this run:

  ```
  --pack S:\Strata-data\packs\iq3_s
  --native S:\llama\models\...\Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf
  --ple-gguf S:\llama\models\...\Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00002-of-00002.gguf
  --expert-profile S:\Strata\data\expert-profile.bin
  --expert-profile-save S:\Strata-data\expert-profile-iq3-s.bin
  --expert-cache auto --prefill auto --vram-reserve-mib 1400
  --spec 4 --spec-min-p 0.5 --pcie-frac 0.2
  --mtp S:\Strata-data\mtp\rt
  --kv k8v4 --kv-resident 32768 --max-context 262144 --vision
  ```

## Method

Run by `python tools/strata_bench.py --long` against the HTTP API of a Strata server (already running); model loading is not timed. One warm-up chat and a 1K prompt are discarded first. Every prompt starts with a unique tag, so the conversation cache cannot help the fresh-prompt tests.

- short chat: the three questions of `tools/ab_engine.py`, up to 100 new tokens, 3 runs
- 4K / 16K prompts: generated word lists sized by a calibration request, 24 new tokens, 3 fresh prompts each
- agent session: system prompt and four tools, then 5 turns that each add about 1500 words of a project file and continue from the model's own earlier answers (the way agent clients resend a conversation), 64 new tokens per turn, 3 sessions; the cache numbers come from the answer's usage (`cached_tokens`) and timings (`prompt_n`)
- concurrency (when run): N requests sent at the same moment, total tokens over the wall time of the burst, latency over all requests

## Results

| Configuration | Actual prompt tokens | Reused tokens | Generated tokens | Runs | Prompt tok/s median and range | Decode tok/s median and range | TTFT seconds median and range |
| --- | ---: | ---: | ---: | ---: | --- | --- | --- |
| short chat | 46 (43-51) | 0 | 100 (100-100) | 9 | not measured | 66.0 (59.3-72.4) | 0.51 (0.44-0.56) |
| 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 1436.1 (1429.7-1465.4) | not measured | 2.84 (2.77-2.84) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 1996.3 (1989.1-2015.7) | not measured | 8.08 (8.02-8.11) |
| 32K prompt, fresh | 32049 (32049-32049) | 0 (0-0) | 24 cap | 3 | 2012.1 (2009.3-2014.9) | not measured | 15.97 (15.95-15.99) |
| agent session, follow-up turns | 14432 (14431-14447) at the last turn | see below | up to 64 | 3 | see below | 70.3 (59.7-92.4) | 2.73 (2.39-2.89) |

Ranges are the lowest and highest of the runs; `Runs` counts requests that returned a token.

### Agent session (conversation cache)

Cache hit over the follow-up turns: 68.7 % (68.4-68.8); earlier-turn tokens read again per session: 4 (3-144) (earlier turns that the cache did not hold; the 13633 (13633-13633) new tokens of the files are read once); first turn (nothing cached) first token: 1.44 s (1.42-1.46).

| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | 609 | 0 | 609 | 430.2 | 1.44 | 45.7 |
| 1 | 3703 | 623 | 3080 | 1120.7 | 2.778 | 68.1 |
| 2 | 5236 | 3766 | 1470 | 613.9 | 2.422 | 64.2 |
| 3 | 8680 | 5299 | 3381 | 1190.3 | 2.892 | 63.8 |
| 4 | 11565 | 8705 | 2860 | 1052.6 | 2.747 | 74.3 |
| 5 | 14431 | 11585 | 2846 | 1065.4 | 2.703 | 59.7 |

Per-request data: `results.json`. Engine log lines from the start: `engine-log-excerpt.txt` (when this run started the server).

## Beyond the suite: long agent contexts on this same install (not part of the benchmark)

These are everyday observations from an interactive agent session on the same install (context growth to
~225K tokens over days), read from the engine's own per-request lines, not from a controlled suite; day-to-day
decode drift on this engine is +-20%, so they complement, not extend, the table above.

- Prompt reads of 150,000-225,000 tokens run at 1,600-1,620 tok/s with `--prefill auto`, in every mode.
- Real decode windows at ~170K-225K context tokens: 43-64 tok/s (thinking and tool traffic mixed).
- `--kv-resident 32768` with `k8v4` (measured paired the day before the update, 4x greedy 400-token runs,
  same day, same install): expert cache 2,418 -> 3,595 slots (4.64 -> 6.87 GiB), decode-window hit rate
  63.4-67.1% -> 72.0-77.0%, tokens decoded over PCIe per window 7,328-7,640 -> 4,359-5,610; the short
  400-token decode itself (47.7-48.7 vs 47.1-51.7) stayed inside the drift band, and long-prompt reads did
  not regress (1,604 -> 1,607 tok/s).
- `--pool-workers 4` vs the auto 15 (this CPU): 49.8 vs 49.2 tok/s paired average - null; the auto pool kept.
  (The community RTX 4080 SUPER report's +28.7% for pool 4 did not reproduce here; on 16 GB VRAM with 15% of
  experts cached, the CPU pool carries real work.)
- Route tail skip (`STRATA_ROUTE_TAIL_SKIP=7`, the 0.1.42 default here): kept on; the arm misses experts on
  ~25-30% of routings.

## Correctness and limitations

Not measured: this is a speed suite. The conversation uses the model's own replies, so token counts differ a
little between runs. Machine details come from the server, `nvidia-smi` and the OS. Total time of the suite:
161 s. The model files' SHA-256 were computed locally and match Hugging Face (see above); no correctness or
repetition check was run. The suite stops at 32K prompts: contexts of 100K+ were only observed in everyday
agent use (the appendix), not benchmarked in pairs here.

[results.json](https://github.com/user-attachments/files/33340850/results.json)

関連リンク

インストール・モデル・リリースへの站内リンク。