Pull requests / #3452
#3452 [Benchmark] community benchmark: RTX 4070 12 GB (sm_89), Coder IQ1_M, 131,072-token context
open · @rodi4eg · 0 comentarios · En GitHub
BenchmarksAMD / HIPNVIDIA / CUDAModels & quantsDocumentationWindowsLinux
Descripción
## Problem and result
Two gaps in the community data, both on the same card:
- **No Ada (sm_89) measurement exists.** `docs/MMVQ_IL_TABLE.md` says so outright ("nobody has measured sm_89 yet (we have no such card)"), and the per-architecture switch tables in `src/core/nv_defaults.cpp` only match cc 8.6 and cc 6.0 - so an RTX 4070 gets **no** table at all and takes the shared fallback.
- **The Coder IQ1_M on a 12 GB card** (the model that keeps the experts in RAM and streams the misses) was not measured on Ada.
This report adds both: a sweep of the engine's opt-in switches on an RTX 4070 with the Coder IQ1_M, the corrected final arms with 5 runs each, and the **first measured MMVQ-IL table for sm_89** (a separate PR).
The headline finding is not a switch but the **VRAM budget**: with everything loaded the engine reports **229 MiB of VRAM free** and warns that requests may stall. Every change that helped gave the expert cache more room or took pressure off the 8-core CPU pool, and the two settings that looked attractive were traps on this card (`--kv k8v4` made the short-prompt time to first token go from 0.77 s to 5.13 s; `--ple-io mmap` cost 19% of the 16K prompt rate).
## Related discussion
none
## Approach
Data only: a `bench/results/2026-10-20-community-rtx-4070-coder-iq1_m/` folder with
- `README.md` - hardware, software, model, the exact launch command, the method, the results, and the limits
- `results.json` - every request of every arm, with the engine's own timings
- `engine-log-excerpt.txt` - the engine's start-up lines (expert cache, VRAM free, PCIe share, the prefill plan)
- `matrix-summary.md` - the wider 48-configuration sweep behind the report, with the noise caveat
plus one bullet in `docs/COMMUNITY_BENCHMARKS.md`. No engine code and no default changes, so the results can be
assessed on their own.
## Validation
**Passed:**
- `python tools/strata_bench.py --config <config> --runs 5` per arm, a fresh engine per arm (the repository's own
harness; the `port` fix in the sibling PR is needed for it to run at all on this path).
- Every number in the report is generated from the harness output, not typed by hand.
- The engine's own `expert cache hit rate`, `VRAM free` and `PCIe share` lines are in the log excerpt.
**Failed:**
- three arms in the wider sweep could not be measured: `--expert-cache 4096`, `--vram-reserve-mib 300` and
`--kv k8v4 --expert-cache 4096` all **fail to load the model** (the card cannot hold them) - that is reported as
a result, not left out.
**Not run:**
- HIP, SYCL and Metal builds (no toolchains on this machine; the engine here is a CUDA sm_89 source build).
- A recall (needle) test: not included in this report.
- Windows: the same harness was used on Linux only.
## Limits
- **The run-to-run spread of this box is about +/-5% for decode.** Two arms of the sweep are the *stock
configuration re-measured* (the sweep script failed to add their flag) and they came out at 40.5, 44.5 and 40.6
tok/s in one session. Every difference below that is not separable here, which is why the report gives medians
with ranges and does not rank the configurations.
- One machine, one driver (580.126.09), one model build, one engine build.
- The 16K prompt test is the long-prompt case; no 128K prompt was measured (the RAM budget does not allow the KV
cache to grow that far with the experts resident).
- The answers are not compared across configurations: the per-layer expert cache changes which side computes an
expert and the two round differently, so a greedy answer can change in wording while staying equivalent in
substance.
En el sitio
Enlaces a install, modelos, releases.