[Benchmark] RTX4090 with 128Gb ECC DDR5 RAM, AMD Ryzen 9 7900X3D, Unsloth Q4_K_XL
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 70/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- cpp, linux
- Domain
- performance
Research direction
Start with the benchmark files named in the report: tools/strata_bench.py and tools/ab_engine.py, then inspect the attached results.json and engine-log-excerpt.txt if available. This issue records speed measurements and explicitly says correctness was not tested; it does not request a code change. Treat it as a benchmark report, and confirm its results and stated limitations are recorded in the project’s benchmark documentation.
Written by the indexing model from the issue text.
Description
Community benchmark on NVIDIA GeForce RTX 4090
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: NVIDIA GeForce RTX 4090, 24 GiB VRAM
- CPU: AMD Ryzen 9 7900X3D 12-Core Processor (12 cores, 24 threads); installed RAM: 123.3 GiB; storage: not measured
- OS: Linux 7.0.0-38-generic; GPU driver: 610.57.04; CUDA: not read
- Strata: project 0.1.44, commit ed4773eb; engine 0.1.44
- Background workloads and power limits: not recorded
Model and configuration
- Model and quantization: qwen3.8-flash-next-unsloth-ud-q4_k_xl
- Context: 262144 tokens; parallel slots: 1
- Settings: the install's own configuration, unchanged; thinking off for the suite; temperature 0
strata --pack unsloth-ud-q4_k_xl --native Qwen3.8-Flash-Next-UD-Q4_K_XL-00001-of-00004.gguf --expert-profile expert-profile.bin --expert-cache auto --prefill auto --spec 4 --mtp rt --max-context 262144 --kv int8 --kv-resident 32768 --vision --vram-reserve-mib 700 --pcie-frac 0.35 --spec-min-p 0.70 --pool-workers 6 --adapt-every 1 --adapt-swaps 80 --adapt-decay 0.97
Environment of the config: STRATA_HC_Q8=1, STRATA_ROUTE_TAIL_SKIP=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 | 48.4 (42.3-57.6) | 0.74 (0.65-0.87) |
| 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 1399.5 (1337.2-1408.1) | not measured | 2.90 (2.87-3.04) |
| 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 2670.8 (2626.5-2675.1) | not measured | 6.03 (6.03-6.14) |
| agent session, follow-up turns | 14554 (14495-14602) at the last turn | see below | up to 64 | 3 | see below | 57.2 (31.1-71.8) | 2.97 (2.85-3.25) |
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.4 % (68.3-68.6); earlier-turn tokens read again per session: 144 (72-144) (earlier turns that the cache did not hold; the 13728 (13726-13728) new tokens of the files are read once); first turn (nothing cached) first token: 1.53 s (1.49-1.54).
| Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s |
|---|---|---|---|---|---|---|
| 0 | 609 | 0 | 609 | 402.2 | 1.536 | 34.4 |
| 1 | 3741 | 620 | 3121 | 966.6 | 3.254 | 43.5 |
| 2 | 5274 | 3734 | 1540 | 526.6 | 2.947 | 54.9 |
| 3 | 8718 | 5337 | 3381 | 1062.6 | 3.208 | 65.9 |
| 4 | 11642 | 8782 | 2860 | 914.1 | 3.158 | 71.8 |
| 5 | 14602 | 11706 | 2896 | 955.2 | 3.061 | 57.2 |
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: 121 s.
- Dominant language
- C++
- Stars
- 11.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Niko1221/Strata
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Niko1221/Strata#3524 · 2 comments ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
Niko1221/Strata#3512 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 76/100
Niko1221/Strata#3501 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
Maintainers usually reply within 3 days
-
[Benchmark] Community benchmark on AMD Radeon RX 6800 XTX + 48gb of RAM for 256k tokens of contextOpen
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Niko1221/Strata#3468 · 1 comment ·
Maintainers usually reply within 3 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
qbittorrent/qBittorrent#25121 ·
Maintainers usually reply within 2 days
-
SVT-AV1: Unnecessary size paddingPossibly taken @pszemus claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
strukturag/libheif#1945 ·
Maintainers usually reply within 1 day
-
v9.6.0: CMake incorrectly enforces presence of libevdevPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
mltframework/shotcut#1943 ·
Maintainers usually reply within 1 day
-
Rowan (2017) electron heating gives NaN for beta > beta_max; clip() then sets electrons to kel_minOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
parthenon-hpc-lab/kharma#213 · 1 comment ·
Maintainers usually reply within 3 days