summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIwan Kawrakow <iwan.kawrakow@gmail.com>2024-12-13 10:09:04 +0200
committerIwan Kawrakow <iwan.kawrakow@gmail.com>2024-12-13 10:09:04 +0200
commitff425a35727d15ca37b8183817c1dedfc86e6349 (patch)
tree882d8bcb153efaf12ab4333f13a184369b5f91fa
parent2700d3af36e5ce11f6c2c9644130635f83bae6d5 (diff)
Adding lost q4_k_r4 case
Not sure how it got lost.
-rw-r--r--ggml/src/iqk/iqk_mul_mat.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/ggml/src/iqk/iqk_mul_mat.cpp b/ggml/src/iqk/iqk_mul_mat.cpp
index 6bfd4f77..d8d8fa29 100644
--- a/ggml/src/iqk/iqk_mul_mat.cpp
+++ b/ggml/src/iqk/iqk_mul_mat.cpp
@@ -5923,6 +5923,18 @@ bool MulMat::prepare(int typeA, int typeB, int ne00, MulMat& mm, int Ny) {
mm.funcs[7] = mul_mat_q3_k_r4_q8_k<8>;
expected_typeB = GGML_TYPE_Q8_K;
break;
+ case GGML_TYPE_Q4_K_R4:
+ assert (ne00 % QK_K == 0);
+ mm.funcs[0] = mul_mat_q4_k_r4_q8_k<1>;
+ mm.funcs[1] = mul_mat_q4_k_r4_q8_k<2>;
+ mm.funcs[2] = mul_mat_q4_k_r4_q8_k<3>;
+ mm.funcs[3] = mul_mat_q4_k_r4_q8_k<4>;
+ mm.funcs[4] = mul_mat_q4_k_r4_q8_k<5>;
+ mm.funcs[5] = mul_mat_q4_k_r4_q8_k<6>;
+ mm.funcs[6] = mul_mat_q4_k_r4_q8_k<7>;
+ mm.funcs[7] = mul_mat_q4_k_r4_q8_k<8>;
+ expected_typeB = GGML_TYPE_Q8_K32;
+ break;
case GGML_TYPE_Q5_K_R4:
assert (ne00 % QK_K == 0);
mm.funcs[0] = mul_mat_q5_k_r4_q8_k<1>;