experiments: PR #18698 (parallel NUMA repack) — 沒幫助, not merged (inference -2.1%/-2.5%); data + load-time note recorded
Browse files
README.md
CHANGED
|
@@ -260,6 +260,7 @@ their data and are **not** merged (❌ 沒幫助).
|
|
| 260 |
| upstream PR [#22525](https://github.com/ggml-org/llama.cpp/pull/22525) by [@HyeongiJeon](https://github.com/HyeongiJeon) | ggml-cpu: optimize `ggml_gemm_q4_K_8x8_q8_K` interleaving/staging for AVX-512 (and AVX2) | ✅ 有幫助(prefill)— merged | 55.78 → 57.42 (**+2.9 %**) | 10.70 → 10.87 (+1.5 %, neutral) |
|
| 261 |
| upstream PR [#19706](https://github.com/ggml-org/llama.cpp/pull/19706) by [@Manogna-Sree](https://github.com/Manogna-Sree) | Q6_K block interleaving for x86 SIMD (AVX-512/AVX2) | ❌ 沒幫助 — not merged | 58.16 → 58.34 (+0.3 %) | 11.06 → 11.07 (+0.1 %) |
|
| 262 |
| upstream PR [#27590](https://github.com/ggml-org/llama.cpp/pull/27590) by [@SongXiaoXi](https://github.com/SongXiaoXi) | ggml-cpu: add AVX-512/VNNI paths for Q5_K/Q6_K dot products | ✅ 有幫助(`-nr`)— merged | `-nr`: 56.41 → 58.03 (**+2.9 %**) | `-nr`: 10.85 → 11.12 (**+2.5 %**) |
|
|
|
|
| 263 |
|
| 264 |
Round-by-round for #27024 (candidate vs baseline, t/s):
|
| 265 |
|
|
@@ -343,6 +344,31 @@ review), so it received extra local validation before merging:
|
|
| 343 |
|
| 344 |
Merged. Measured 2026-10-16.
|
| 345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 346 |
## License
|
| 347 |
|
| 348 |
This project (the patch set, `patch.sh` and documentation) is licensed
|
|
|
|
| 260 |
| upstream PR [#22525](https://github.com/ggml-org/llama.cpp/pull/22525) by [@HyeongiJeon](https://github.com/HyeongiJeon) | ggml-cpu: optimize `ggml_gemm_q4_K_8x8_q8_K` interleaving/staging for AVX-512 (and AVX2) | ✅ 有幫助(prefill)— merged | 55.78 → 57.42 (**+2.9 %**) | 10.70 → 10.87 (+1.5 %, neutral) |
|
| 261 |
| upstream PR [#19706](https://github.com/ggml-org/llama.cpp/pull/19706) by [@Manogna-Sree](https://github.com/Manogna-Sree) | Q6_K block interleaving for x86 SIMD (AVX-512/AVX2) | ❌ 沒幫助 — not merged | 58.16 → 58.34 (+0.3 %) | 11.06 → 11.07 (+0.1 %) |
|
| 262 |
| upstream PR [#27590](https://github.com/ggml-org/llama.cpp/pull/27590) by [@SongXiaoXi](https://github.com/SongXiaoXi) | ggml-cpu: add AVX-512/VNNI paths for Q5_K/Q6_K dot products | ✅ 有幫助(`-nr`)— merged | `-nr`: 56.41 → 58.03 (**+2.9 %**) | `-nr`: 10.85 → 11.12 (**+2.5 %**) |
|
| 263 |
+
| upstream PR [#18698](https://github.com/ggml-org/llama.cpp/pull/18698) by [@zzjianhui](https://github.com/zzjianhui) | ggml-cpu: repack weights in parallel (OpenMP, NUMA-local thread placement) | ❌ 沒幫助(推論略退化)— not merged | 55.56 → 54.42 (**−2.1 %**) | 10.31 → 10.05 (**−2.5 %**) |
|
| 264 |
|
| 265 |
Round-by-round for #27024 (candidate vs baseline, t/s):
|
| 266 |
|
|
|
|
| 344 |
|
| 345 |
Merged. Measured 2026-10-16.
|
| 346 |
|
| 347 |
+
Round-by-round for #18698 (candidate vs baseline, t/s), default settings.
|
| 348 |
+
This PR repacks the quantized weights in parallel with OpenMP and pins each
|
| 349 |
+
repack thread NUMA-local. (Ported by hand: the year-old PR conflicts with the
|
| 350 |
+
current tree and depends on the never-merged PR #18239.)
|
| 351 |
+
|
| 352 |
+
| round | pp512 | tg128 |
|
| 353 |
+
|---|---:|---:|
|
| 354 |
+
| 1 | 49.98 vs 53.95 | 9.66 vs 10.24 |
|
| 355 |
+
| 2 | 53.62 vs 55.84 | 10.05 vs 9.81 |
|
| 356 |
+
| 3 | 55.62 vs 55.29 | 9.78 vs 10.38 |
|
| 357 |
+
| 4 | 53.57 vs 55.07 | 10.05 vs 10.02 |
|
| 358 |
+
| 5 | 51.86 vs 56.78 | 8.98 vs 10.52 |
|
| 359 |
+
| 6 | 56.96 vs 54.54 | 11.16 vs 10.05 |
|
| 360 |
+
| 7 | 56.67 vs 57.68 | 11.66 vs 11.40 |
|
| 361 |
+
| 8 | 55.23 vs 57.70 | 11.25 vs 11.24 |
|
| 362 |
+
|
| 363 |
+
**Verdict ❌ 沒幫助 (slightly slower, not merged).** Medians: prefill −2.1 %
|
| 364 |
+
(2 W / 6 L) and decode −2.5 % (3 W / 3 L / 2 T). Side effect worth recording:
|
| 365 |
+
the parallel repack cuts model **load** wall time (load + tiny bench, warm
|
| 366 |
+
page cache) from 24 s (2/2 runs) to 10 s (2/2 runs) — but the inference phase
|
| 367 |
+
itself gains nothing, so per the merge rule (real tok/s gains) the candidate
|
| 368 |
+
is **not** merged. Correctness: perplexity 1.0361 → 1.0361 (identical), i.e.
|
| 369 |
+
the parallel repack produces identical weights; the regression is presumably
|
| 370 |
+
a NUMA page-placement effect, not a data error. Measured 2026-10-16.
|
| 371 |
+
|
| 372 |
## License
|
| 373 |
|
| 374 |
This project (the patch set, `patch.sh` and documentation) is licensed
|