Issues / #2444

#2444 2026-10-14-community-vega-20-pro-vii-instinct-mi50-qwen3-8-flash-next-iq3xxs STRATA_DENSE_MMQ STRATA_HIP_PROMPT_F16

open · @QPhuGit · 0 commentaires · Sur GitHub

BenchmarksSetup & installMulti-GPUAMD / HIPNVIDIA / CUDAModels & quantsLinux

Description

# Community benchmark on Vega 20 [Radeon Pro VII/Radeon Instinct MI50 16GB] with STRATA_DENSE_MMQ, STRATA_HIP_PROMPT_F16 and numactl config

Measured on 2026-10-14 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: Vega 20 Mi50 16GB (gfx906), power limit 130w, pcie 3.0 x16 8GT/s, on CPU0
- CPU: Dual Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (12 cores, 24 threads); QPI: 9.6GT/s; installed RAM: 4x16GB; storage: SSD; 
- Memory bandwidth: Quad-chanel (3x16GB on CPU0, 1x16GB on CPU1), limit 1866GT/s by CPU
- OS: Linux 6.8.0-146-generic; GPU driver: ROCM 6.1.2; CUDA: not read
- Strata: project 0.1.44.1, commit 296b59d2; engine 0.1.44.1
- Background workloads and power limits: not recorded

## Model and configuration

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

```text
strata --pack iq3xxs --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 --max-context 131072 --expert-profile expert-profile.bin --kv k8v4 --kv-resident 16384 --spec 4 --prefill auto --expert-cache auto --expert-cache-per-layer
```

## Method

Run by `python tools/strata_bench.py --clients 1` 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
#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 numactl --cpunodebind=0,1 --membind=0

| 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 | 23.3 (22.9-23.8) | 0.87 (0.81-1.04) |
| 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 460.1 (392.0-460.6) | not measured | 8.78 (8.77-10.30) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 507.4 (489.5-508.0) | not measured | 31.71 (31.67-32.86) |
| 32k prompt, fresh | 32049 (32049-32049) | 0 (0-0) | 24 cap | 3 | 501.7 (501.4-502.1) | not measured | 63.96 (63.91-63.99) |
| 64k prompt, fresh | 64040 (64040-64040) | 0 (0-0) | 24 cap | 3 | 481.2 (473.8-481.3) | not measured | 133.18 (133.17-135.28) |
| agent session, follow-up turns | 14580 (14544-14605) at the last turn | see below | up to 64 | 3 | see below | 25.4 (23.2-28.9) | 7.85 (4.79-11.03) |

#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 (no numactl config)
| 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 | 16.1 (14.0-17.6) | 1.53 (1.02-5.89) |
| 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 435.7 (341.2-436.7) | not measured | 9.27 (9.26-11.83) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 480.7 (412.0-497.9) | not measured | 33.47 (32.31-39.04) |
| 32k prompt, fresh | 32049 (32049-32049) | 0 (0-0) | 24 cap | 3 | 446.0 (439.9-446.3) | not measured | 71.94 (71.89-72.93) |
| 64k prompt, fresh | 64040 (64040-64040) | 0 (0-0) | 24 cap | 3 | 451.6 (412.8-476.2) | not measured | 141.93 (134.60-155.24) |
| agent session, follow-up turns | 14575 (14571-14605) at the last turn | see below | up to 64 | 3 | see below | 22.2 (16.3-24.7) | 9.38 (5.96-11.98) |

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

### Agent session (conversation cache)
#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 numactl --cpunodebind=0,1 --membind=0

Cache hit over the follow-up turns: 68.7 % (68.6-68.8); earlier-turn tokens read again per session: 5 (5-75) (earlier turns that the cache did not hold; the 13730 (13730-13731) new tokens of the files are read once); first turn (nothing cached) first token: 3.83 s (3.82-4.44).

| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | 609 | 0 | 609 | 138.7 | 4.439 | 22.7 |
| 1 | 3765 | 642 | 3123 | 284.6 | 11.028 | 23.7 |
| 2 | 5298 | 3828 | 1470 | 230.7 | 6.423 | 23.8 |
| 3 | 8742 | 5361 | 3381 | 311.9 | 10.903 | 23.7 |
| 4 | 11661 | 8799 | 2862 | 287.0 | 10.031 | 26.2 |
| 5 | 14605 | 11706 | 2899 | 312.1 | 9.349 | 24.4 |

#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 (no numactl config)
Cache hit over the follow-up turns: 68.8 % (68.8-68.8); earlier-turn tokens read again per session: 5 (5-5) (earlier turns that the cache did not hold; the 13730 (13730-13731) new tokens of the files are read once); first turn (nothing cached) first token: 4.74 s (4.70-5.00).

| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | 609 | 0 | 609 | 123.1 | 4.999 | 21.8 |
| 1 | 3763 | 640 | 3123 | 273.9 | 11.463 | 22.2 |
| 2 | 5296 | 3826 | 1470 | 204.5 | 7.241 | 23.0 |
| 3 | 8740 | 5359 | 3381 | 283.8 | 11.978 | 23.8 |
| 4 | 11651 | 8789 | 2862 | 260.4 | 11.057 | 21.6 |
| 5 | 14575 | 11676 | 2899 | 282.4 | 10.329 | 22.7 |

### Concurrency: 1 clients
#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 numactl --cpunodebind=0,1 --membind=0

Total 20.5 tok/s (18.3-21.0); first token p50 1.225 s, p95 1.508 s; request latency p50 6.245 s, p95 6.933 s; errors 0. Server parallel slots: 1 (requests beyond that wait their turn).

#### With: STRATA_DENSE_MMQ=1 STRATA_HIP_PROMPT_F16=1 (no numactl config)

Total 16.3 tok/s (14.3-17.5); first token p50 1.627 s, p95 2.065 s; request latency p50 7.869 s, p95 8.861 s; errors 0. Server parallel slots: 1 (requests beyond that wait their turn).

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: 972 s.

Sur le site

Liens install, modèles, releases.