Files
ik_llama.cpp/github-data/pull_requests/150 - IQ4_KS_R4.md
2025-07-23 13:31:53 +02:00

38 lines
1.6 KiB
Markdown

### 🔀 [#150](https://github.com/ikawrakow/ik_llama.cpp/pull/150) - IQ4_KS_R4
| **Author** | `ikawrakow` |
| :--- | :--- |
| **State** | ❌ **Closed** |
| **Created** | 2024-12-18 |
| **Updated** | 2024-12-18 |
---
#### Description
Adding `IQ4_KS` with 4 interleaved rows.
We get very signifiant performance gains on `ARM_NEON` and good gains on `AVX2/Zen4`.
Here is `PP-512` for LLaMA-3.1-8B on `Zen4` (Ryzen-7950X), `ARM_NEON` (M2-Max) and `AVX2` (Ryzen-5975WX)
| Platform | Threads | IQ4_KS | IQ4_KS_R4 | Speedup |
| ---: | ---: | ---: | ---: | ---: |
| ARM_NEON | 8 | 67.29 ± 1.02 | 124.91 ± 0.62 | 1.856 |
| Zen4 | 16 | 180.42 ± 0.68 | 266.05 ± 0.45 | 1.475 |
| AVX2 | 32 | 201.79 ± 0.48 | 245.37 ± 0.52 | 1.216 |
We get decent performance gains for TG as well.
Here results for TG-128 on LLaMA-3.1-8B with different numbers of threads:
| Platform | Threads | IQ4_KS | IQ4_KS_R4 | Speedup |
| ---: | ---: | ---: | ---: | ---: |
| ARM_NEON | 2 | 10.84 ± 0.01 | 12.55 ± 0.00 | 1.158 |
| | 4 | 19.81 ± 0.12 | 22.06 ± 0.06 | 1.114 |
| | 8 | 25.74 ± 0.47 | 26.47 ± 0.21 | 1.039 |
| Zen4 | 1 | 6.18 ± 0.00 | 7.97 ± 0.11 | 1.290 |
| | 2 | 11.73 ± 0.02 | 13.43 ± 0.00 | 1.145 |
| | 4 | 13.09 ± 1.13 | 14.46 ± 0.00 | 1.105 |
| AVX2 | 2 | 4.74 ± 0.00 | 7.30 ± 0.00 | 1.540 |
| | 4 | 8.75 ± 0.00 | 11.39 ± 0.00 | 1.302 |
| | 8 | 12.38 ± 0.01 | 12.73 ± 0.00 | 1.028 |