Issues / #3101
#3101 Community benchmark: RTX 5060 Ti + RTX 3090, IQ2_XS, 262K
open · @pluberd · 1 コメント · GitHub で見る
BenchmarksSetup & installServer & APIAMD / HIPNVIDIA / CUDAModels & quantsLinux
本文
# Community benchmark on NVIDIA GeForce RTX 5060 Ti + NVIDIA GeForce RTX 3090 Measured on 2026-10-18 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 5060 Ti + NVIDIA GeForce RTX 3090, 40 GiB VRAM - CPU: AMD Ryzen 7 9700X 8-Core Processor (8 cores, 16 threads); installed RAM: 91.6 GiB; storage: not measured - OS: Linux 7.0.0-34-generic; GPU driver: 595.91.07; CUDA: 13.2 - Strata: project 0.1.45, commit 1b7f1fe0; engine 0.1.45 - Background workloads: Ubuntu desktop running, monitors attached to the RTX 5060 Ti; only very light background work during the run (the client application that normally uses the server was paused) - Power limits: RTX 5060 Ti 150 W (default 180 W), RTX 3090 250 W (default 350 W), set by the owner, all runs - PCIe: RTX 5060 Ti in the first slot at PCIe 4.0 x8 (14.4 GB/s measured); RTX 3090 in the second slot at PCIe 4.0 **x4** (CPU root port, 6.7 GB/s measured). The board cannot run the cards the other way round. Layer split auto: CUDA0 layers 0-16, CUDA1 layers 17-47 - RAM: the model (about 72 GB, 2 GGUF files) fits in RAM; about 27-34 GB of RAM were available while the server ran - Build: CUDA 13.2.2 (13.2.0/13.2.1 nvcc produce wrong results on sm_120, #892/#968). The engine is 0.1.45 plus one local change that only touches the Qwen3.6 path (`src/qwen35`), not Flash-Next ## Model and configuration - Model and quantization: qwen3.8-flash-next-iq2_xs - Context: 262144 tokens; parallel slots: 1 - Settings: setup's configuration, changed by hand: 262K context, `--kv-resident 32768`, `--prompt-cache-root 256`, conversation cache 4 GiB / 4 slots; thinking off for the suite; temperature 0 ```text strata --pack iq2_xs --native Qwen3.8-Flash-Next-GSQ-RCO-IQ2_XS-00001-of-00002.gguf --ple-gguf Qwen3.8-Flash-Next-GSQ-RCO-IQ2_XS-00002-of-00002.gguf --expert-profile expert-profile.bin --expert-cache auto --prefill auto --spec 4 --spec-min-p 0.5 --mtp rt --max-context 262144 --kv int8 --prompt-cache-root 256 --conversation-cache-mib 4096 --conversation-cache-slots 4 --kv-resident 32768 ``` ## 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 | 117.6 (109.0-162.5) | 0.29 (0.28-0.32) | | 4K prompt, fresh | 4019 (4019-4019) | 0 (0-0) | 24 cap | 3 | 1468.8 (1457.8-1477.2) | not measured | 2.75 (2.74-2.77) | | 16K prompt, fresh | 16058 (16058-16058) | 0 (0-0) | 24 cap | 3 | 2140.6 (2138.7-2155.6) | not measured | 7.52 (7.47-7.53) | | 32K prompt, fresh | 32049 (32049-32049) | 0 (0-0) | 24 cap | 3 | 2515.6 (2500.8-2519.2) | not measured | 12.77 (12.75-12.84) | | agent session, follow-up turns | 14557 (14513-14579) at the last turn | see below | up to 64 | 3 | see below | 107.5 (65.7-138.6) | 2.44 (1.70-2.72) | 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.6-68.8); earlier-turn tokens read again per session: 4 (3-73) (earlier turns that the cache did not hold; the 13718 (13717-13718) new tokens of the files are read once); first turn (nothing cached) first token: 1.44 s (1.38-1.53). | Turn (run 1) | Prompt tokens | Reused | Read | Prompt tok/s | First token (s) | Decode tok/s | | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | 0 | 609 | 0 | 609 | 447.1 | 1.378 | 94.9 | | 1 | 3751 | 631 | 3120 | 1227.3 | 2.561 | 78.7 | | 2 | 5284 | 3814 | 1470 | 832.9 | 1.794 | 107.5 | | 3 | 8717 | 5348 | 3369 | 1259.2 | 2.702 | 97.4 | | 4 | 11627 | 8765 | 2862 | 1171.0 | 2.466 | 138.0 | | 5 | 14579 | 11680 | 2899 | 1195.5 | 2.443 | 85.4 | 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 were added by hand. Total time of the suite: 131 s.
関連リンク
インストール・モデル・リリースへの站内リンク。