Issues / #2162

#2162 Community benchmark: Radeon RX 9060 XT 16GB, Linux Proxmox CT, IQ3_S & IQ3_XXS at 128K context

open · @Gerporgl · 3 comments · View on GitHub

BenchmarksSetup & installAMD / HIPNVIDIA / CUDAModels & quantsLinux

Description

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: AMD Radeon RX 9060 XT (gfx1200), 16 GiB VRAM, PCIe Gen5 at x4
- CPU: AMD Ryzen 7 9700X 8-Core Processor (8 cores, 8 threads); installed RAM: 50.0 GiB (container RAM, host: 64GB);
- Storage: not measured (proxmox zfs, recordsize 32K!, 4 x nvme Gen4 @x4/x4/x4/x4)
- OS: Linux 7.0.14-16-pve; GPU driver: not read; CUDA: not read
- Strata: project 0.1.43, commit 7695859a; engine 0.1.43
- Background workloads: notrecorded
- Power limits: 112W GPU (stock ROCM)

# IQ3_S

## Model and configuration

- Model and quantization: qwen3.8-flash-next-iq3_s
- Context: 131072 tokens; parallel slots: 1
- Settings: the install's own configuration, unchanged (hip backend); thinking off for the suite; temperature 0

```text
strata --pack iq3_s --native Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf --ple-gguf Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00002-of-00002.gguf --expert-profile expert-profile.bin --expert-cache auto --prefill auto --spec 4 --mtp rt --max-context 131072 --kv int8 --resident-experts --vision --vram-reserve-mib 700 --spec-min-p 0.5
```

Environment of the config: `STRATA_RESIDENT_PIN=0`

## Method

Run by `python tools/strata_bench.py` against the HTTP API of a Strata server (started by the benchmark from the install configuration); 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 | 39.2 (37.2-48.1) | 0.66 (0.58-0.83) |
| 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 616.3 (601.2-619.2) | not measured | 6.56 (6.52-6.72) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 783.0 (769.2-814.2) | not measured | 20.55 (19.76-20.91) |
| agent session, follow-up turns | 14458 (14455-14463) at the last turn | see below | up to 64 | 3 | see below | 43.4 (30.9-52.8) | 6.73 (5.47-7.67) |

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.8 % (68.6-68.8); earlier-turn tokens read again per session: 3 (3-73) (earlier turns that the cache did not hold; the 13633 (13633-13634) new tokens of the files are read once); first turn (nothing cached) first token: 4.96 s (4.94-4.97).

| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | 609 | 0 | 609 | 124.1 | 4.938 | 31.7 |
| 1 | 3710 | 630 | 3080 | 422.0 | 7.337 | 44.8 |
| 2 | 5243 | 3773 | 1470 | 262.8 | 5.63 | 39.6 |
| 3 | 8687 | 5307 | 3380 | 443.0 | 7.666 | 30.9 |
| 4 | 11572 | 8712 | 2860 | 403.7 | 7.124 | 50.6 |
| 5 | 14463 | 11617 | 2846 | 469.7 | 6.096 | 35.1 |

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

## 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`/`rocm-smi` and the OS; background load and power limits are not recorded. Total time of the suite: 254 s.


# IQ3_XXS

## Model and configuration

- Model and quantization: qwen3.8-flash-next-iq3_xxs
- Context: 131072 tokens; parallel slots: 1
- Settings: the install's own configuration, unchanged (hip backend); thinking off for the suite; temperature 0

```text
strata --pack iq3_xxs --native Qwen3.8-Flash-Next-GSQ-RCO-IQ3_XXS-00001-of-00002.gguf --ple-gguf Qwen3.8-Flash-Next-GSQ-RCO-IQ3_XXS-00002-of-00002.gguf --expert-profile expert-profile.bin --expert-cache auto --prefill auto --spec 4 --mtp rt --max-context 131072 --kv int8 --resident-experts --vision --vram-reserve-mib 700 --spec-min-p 0.666
```

Environment of the config: `STRATA_RESIDENT_PIN=0`

## Method

Run by `python tools/strata_bench.py` against the HTTP API of a Strata server (started by the benchmark from the install configuration); 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 | 88 (85-93) | 0 | 100 (100-100) | 9 | not measured | 43.9 (38.5-52.5) | 1.28 (1.24-2.02) |
| 4K prompt, fresh | 4021 (4021-4021) | 0 (0-0) | 24 cap | 3 | 632.1 (631.6-656.4) | not measured | 6.39 (6.16-6.40) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 772.1 (764.8-773.4) | not measured | 20.84 (20.80-21.04) |
| agent session, follow-up turns | 14497 (14483-14533) at the last turn | see below | up to 64 | 3 | see below | 46.3 (28.8-55.5) | 6.35 (4.26-7.02) |

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.9 % (68.9-68.9); earlier-turn tokens read again per session: 4 (3-4) (earlier turns that the cache did not hold; the 13633 (13633-13636) new tokens of the files are read once); first turn (nothing cached) first token: 4.35 s (3.04-4.42).

| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | 647 | 0 | 647 | 214.7 | 3.044 | 26.2 |
| 1 | 3733 | 650 | 3083 | 528.2 | 5.872 | 46.0 |
| 2 | 5266 | 3796 | 1470 | 347.8 | 4.261 | 46.8 |
| 3 | 8710 | 5330 | 3380 | 535.4 | 6.349 | 46.9 |
| 4 | 11634 | 8773 | 2861 | 494.8 | 5.819 | 46.3 |
| 5 | 14533 | 11687 | 2846 | 428.9 | 6.674 | 28.8 |

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

## 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`/`rocm-smi` and the OS; background load and power limits are not recorded. Total time of the suite: 246 s.

Related on strata.com

Editorial links to help you install, pick models, or read release notes — not part of the upstream thread.