diff options
-rw-r--r-- | ggml/src/iqk/iqk_mul_mat.cpp | 12 |
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>; |