Pull requests / #1799
#1799 Community benchmark: 2x Tesla P40, IQ3_S, 131K ctx (engine 0.1.41)
closed · @gun-powder · 0 comentarios · En GitHub
BenchmarksMulti-GPUNVIDIA / CUDAModels & quantsDocumentation
Descripción
Full report in **bench/results/2026-10-10-community-2x-p40-iq3_s/** (`README.md` + raw engine timings).
Two Tesla P40 24 GB (sm_61), Xeon E5-2699 v3 (18c/36t, AVX2), 125 GB RAM, Ubuntu 22.04, driver 550.144.03. Engine **0.1.41** (fb58e0d), CUDA 12 source build (`--cuda 12`, sm_61 experimental path), layer split **K=24**, IQ3_S @131,072 ctx, int8 KV + kv-resident 32768, `--pcie-frac 0.34 --spec-min-p 0.70` (calibrated), 9,820/24,576 experts resident (17.69 GiB), 46.84 GiB expert arena, 17 pool workers.
Headlines (engine timings, temp 0, reasoning none, prefill legs fresh `cache_n=0`; medians of 3, all values + raw lines in the report):
- decode **35.0 tok/s** short-prompt (34.8 / 35.0 / 35.1; draft acceptance 69% post-calibration, 51% before)
- prompt **350 tok/s @3,918 tok** · **558 tok/s @21,858 tok** (TTFT 11.2 s / 39.2 s)
- needles **6/6** — lengths 32k + 128k, depths 10/50/90 (128K reads 172-192 s wall)
- golden-prefix parking (`--conversation-cache-mib 2048`): 5.2K omp-style system prefix reads cold in 15.7 s, later conversations mount in **0.43-0.83 s** cross-session; a 21.9K prompt re-mounts in 0.30 s TTFT
- `slot save/restore` is refused on the layer split ("session files do not support --layer-split") — restart persistence is one warm request after READY
llama.cpp context on the same machine (Qwen3.8-27B-AP-Q4_K_XL, `-sm tensor` both P40s):
decode **22.7 tok/s** (v0.4.0-dev and v0.5.0 agree exactly), prompt ≈388/390 tok/s at the same token counts; v0.5.0 `--spec-type draft-mtp --spec-draft-n-max 4` → **24.9 tok/s** (+9.8%, acceptance 33% on prose). So Flash-Next IQ3_S is **+54% decode vs the best 27B config** on this pair, −10% prefill at 4K, +43% at 22K, 131K vs 393K ctx. (Flash-Next itself via stock llama.cpp collapses on prefill — 13-18 tok/s — per sarge18/p40-llm-engine-bakeoff on identical GPUs.)
Not tested: batching (`--parallel`), CPU vision, ctx >131K, quality suites, adaptive-swap arms beyond calibrate's.
Method: 3 reps per number, all values + medians, engine `prompt_per_second`/`predicted_per_second`, client stream cross-check, greedy decode, needles via `tools/needle_bench.py`.
Only adds two files under `bench/results/`; no code, docs, or defaults touched. Related: #1028 #1029 #1469 (no sign of the #1469 decode regression on this pair — our 34.9 matches #1028's 34.8).
En el sitio
Enlaces a install, modelos, releases.