HelloSun commited on
Commit
5482b0f
·
1 Parent(s): fa0329a

experiments: PR #18698 (parallel NUMA repack) — 沒幫助, not merged (inference -2.1%/-2.5%); data + load-time note recorded

Browse files
Files changed (1) hide show
  1. README.md +26 -0
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