Pull requests / #3089

#3089 bench: community report, Radeon VII 16 GB (gfx906), Qwen3.6-35B-A3B UD-Q4_K_XL

open · @Kaidora · 0 comments · View on GitHub

BenchmarksSetup & installAMD / HIPModels & quantsDocumentation

Description

A speed report from hardware the project does not have: one **Radeon VII 16 GB (gfx906)** running
**Qwen3.6-35B-A3B UD-Q4_K_XL** on the qwen35moe path. Report-only, no engine change.

**Machine:** Radeon VII 16 GB (gfx906, Vega 20, PCIe 3.0 x16, 250 W cap), Xeon E5-2676 v4 (16 threads,
AVX2, no AVX-512), 62.7 GiB RAM, Debian 13 / kernel 6.12.111, the community image
`mixa3607/rocm-gfx906:10.0-complete` (HIP 7.15.26333, clang 23), `HSA_OVERRIDE_GFX_VERSION=9.0.6`.
Strata 0.1.45 (`477ac13c`), built from source with `-DSTRATA_HIP_GFX906=ON`. 32K context, 2 slots,
`--mtp 4 --batch 2 --batch-mtp --pool-workers 6`. Background load: the KDE desktop, Firefox, the DeepSeek Harness and deepseek v4.1 flash were
running during the suite; nothing else ran.

**Measured** (`tools/strata_bench.py`, 3 runs per test, medians with ranges):

| test | result |
| --- | --- |
| chat decode | 34.0 tok/s (26.3-39.7, n=9) |
| chat first token | 0.47 s |
| 4K prompt | 1,150.3 tok/s |
| 16K prompt | 1,040.9 tok/s |
| agent decode | 34.5 tok/s (30.7-38.3, n=15) |
| agent cache hit | 0.0% |

**Two things the report records, and they are the reason I am posting it:**

1. **`--pool-workers` on this path.** Changing only the worker count, at the same 32K context, the same
   slots and the same 62 of 256 experts in VRAM: **13.5 tok/s** chat decode at 15 workers against **34.0**
   at 6 (one slot: 15.4 against 35.2). 15 is the engine's own default on this 16-core CPU (one worker per
   physical core except the first; setup writes no `--pool-workers` here because all cores are alike). At
   15 workers the GPU was busy **33%** of the time and every core sat at 95-100% user (the pool's threads
   spin). At **4, 6 or 8** workers a warm 128-token request decodes at **~64-67 tok/s**; 15 lands at ~26.
   The 16-thread CPU seems to be the wrong place to split a few expert rows per layer.
2. **MTP is inert for the requests the suite (and setup's own config) send.** With
   `--mtp 4 --batch 2 --batch-mtp` the engine logs `drafts accepted 0 of 0` for a request that sends
   only `temperature: 0`. Adding `presence_penalty: 0, frequency_penalty: 0, repeat_penalty: 1` makes
   the drafts appear (`85 of 184`) and the same request decodes at **66-84 tok/s**. That matches
   #3008/#3009; the numbers here are from gfx906.

**What this does not do:** it does not change the engine. It also does not test pictures, `--clients`,
`--long`, a second build or a soak.

**Not comparable to the published Qwen3.6 numbers in one respect:** this card drives the desktop, so
the report's own run caps the experts with `--expert-vram` where needed; the folder notes which
setting each number came from, and the README carries the four configurations I ran (15 workers /
whole card / `--batch 4` / the fixed one) side by side.

Related on this site

Quick links to related pages.