Commit 7f52de6
committed
feat: v0.9.12 — Q6_K codegen + AOT validation (closes the Q6_K arc)
Builds on v0.9.11's foundation: emits a Q6_K dot kernel into AOT
binaries, wires is_q6k / lm_is_q6k dispatch through every projection /
lm_head emission site, threads --force-q6k through forge compile and
forge export-weights, and validates the codegen end-to-end via
--score-corpus on Llama-3.2-1B.
Result on the standard 4.9 KB factual corpus:
- AOT-Q6_K --score-corpus : ppl 4.2647, BPB 0.4000, 13 tok/s
- Interpreter Q8_0 bench-ppl : ppl 4.2294, BPB 0.3976, 13 tok/s
Q6_K vs Q8_0 ppl: +0.8% — exactly the expected high-bit quantization
gap. Better than AOT-Q4_K (4.57) by 7% as expected (Q6_K is 6.5
bits/elem vs Q4_K's 4.5). Storage: Q6_K row is 23% smaller than Q8_0
(1680 vs 2176 bytes for k=2048).
Throughput is currently scalar-only (no NEON dot4 yet); ~3x slower
than the AOT-Q4_K NEON sdot path on the same model. v0.9.13 will
add the NEON kernel + per-tensor dtype mixing for real Q4_K_M GGUFs.
339/339 workspace tests still pass.1 parent 6d3ecaa commit 7f52de6
6 files changed
Lines changed: 407 additions & 45 deletions
File tree
- crates
- forgellm-cli/src
- forgellm-codegen-cpu/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
5 | 71 | | |
6 | 72 | | |
7 | 73 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
81 | 87 | | |
82 | 88 | | |
83 | 89 | | |
| |||
94 | 100 | | |
95 | 101 | | |
96 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
97 | 107 | | |
98 | 108 | | |
99 | 109 | | |
| |||
313 | 323 | | |
314 | 324 | | |
315 | 325 | | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
328 | 345 | | |
329 | | - | |
330 | | - | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
331 | 351 | | |
332 | 352 | | |
333 | 353 | | |
| |||
771 | 791 | | |
772 | 792 | | |
773 | 793 | | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
774 | 797 | | |
775 | 798 | | |
776 | 799 | | |
| |||
785 | 808 | | |
786 | 809 | | |
787 | 810 | | |
| 811 | + | |
788 | 812 | | |
789 | 813 | | |
790 | 814 | | |
| |||
797 | 821 | | |
798 | 822 | | |
799 | 823 | | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
800 | 833 | | |
801 | 834 | | |
802 | 835 | | |
| |||
818 | 851 | | |
819 | 852 | | |
820 | 853 | | |
821 | | - | |
| 854 | + | |
822 | 855 | | |
823 | 856 | | |
824 | 857 | | |
| |||
934 | 967 | | |
935 | 968 | | |
936 | 969 | | |
937 | | - | |
| 970 | + | |
938 | 971 | | |
939 | 972 | | |
940 | 973 | | |
| |||
2343 | 2376 | | |
2344 | 2377 | | |
2345 | 2378 | | |
2346 | | - | |
| 2379 | + | |
2347 | 2380 | | |
2348 | 2381 | | |
2349 | 2382 | | |
2350 | 2383 | | |
2351 | 2384 | | |
2352 | 2385 | | |
2353 | 2386 | | |
| 2387 | + | |
2354 | 2388 | | |
2355 | 2389 | | |
2356 | 2390 | | |
| |||
2365 | 2399 | | |
2366 | 2400 | | |
2367 | 2401 | | |
| 2402 | + | |
| 2403 | + | |
| 2404 | + | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
2368 | 2410 | | |
2369 | 2411 | | |
2370 | 2412 | | |
2371 | 2413 | | |
| 2414 | + | |
2372 | 2415 | | |
2373 | | - | |
| 2416 | + | |
2374 | 2417 | | |
2375 | 2418 | | |
2376 | 2419 | | |
2377 | 2420 | | |
| 2421 | + | |
2378 | 2422 | | |
2379 | 2423 | | |
2380 | 2424 | | |
| |||
0 commit comments