diff options
author | Kawrakow <iwankawrakow@gmail.com> | 2024-12-12 16:04:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-12 16:04:20 +0100 |
commit | 2700d3af36e5ce11f6c2c9644130635f83bae6d5 (patch) | |
tree | 7e3a65fd9c8318fd654f83f7431b906cc017b34a /ggml/src/ggml-quants.c | |
parent | aecc95c0cabc6604642e7bc4a8c9e5cb5233ebc4 (diff) |
IQ4_K_R4 (#138)
* iq4_k_r4: WIP
* iq4_k_r4: Zen4 and hopefully AVX2
On Zen4 we get PP-512(LLaMA-3.1-8B) = 232.6 t/s, up from 182.2 t/s
for iq4_k. Applying the extra shift costs a ~6 performance penalty.
* iq4_k_r4: AVX2
PP-512 = 227.60 t/s. The shifts are really costly.
* iq4_k_r4: NEON
We get PP-512(LLaMA-3.1-8B) = 108 t/s, up from 58.2 t/s for iq4_k.
---------
Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
Diffstat (limited to 'ggml/src/ggml-quants.c')
-rw-r--r-- | ggml/src/ggml-quants.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ggml/src/ggml-quants.c b/ggml/src/ggml-quants.c index ff857087..64bd9459 100644 --- a/ggml/src/ggml-quants.c +++ b/ggml/src/ggml-quants.c @@ -15207,6 +15207,7 @@ bool ggml_validate_row_data(enum ggml_type type, const void * data, size_t nbyte case GGML_TYPE_Q4_K_R4: break; case GGML_TYPE_Q5_K_R4: break; case GGML_TYPE_Q6_K_R4: break; + case GGML_TYPE_IQ4_K_R4: break; case GGML_TYPE_Q4_0_4_4: case GGML_TYPE_Q4_0_4_8: { |