summaryrefslogtreecommitdiff
path: root/ggml/src/ggml-cuda/mmvq.cu
diff options
context:
space:
mode:
authorKawrakow <iwankawrakow@gmail.com>2025-06-05 19:13:51 +0300
committerGitHub <noreply@github.com>2025-06-05 19:13:51 +0300
commiteded4e20d4decdc6e8c18e645fd1db0833ad251d (patch)
treeb97f31f30d263b3d2ca610d75bcdd58793f7e04d /ggml/src/ggml-cuda/mmvq.cu
parent8ffad187abbb93b74db8ef813b6fdceec80e02b0 (diff)
IQ1_M_R4 CUDA implementation (#494)
* iq1_m_r4: CUDA dequantize * iq1_m_r4: CUDA dequantize --------- Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
Diffstat (limited to 'ggml/src/ggml-cuda/mmvq.cu')
-rw-r--r--ggml/src/ggml-cuda/mmvq.cu4
1 files changed, 4 insertions, 0 deletions
diff --git a/ggml/src/ggml-cuda/mmvq.cu b/ggml/src/ggml-cuda/mmvq.cu
index cc00d278..73caabab 100644
--- a/ggml/src/ggml-cuda/mmvq.cu
+++ b/ggml/src/ggml-cuda/mmvq.cu
@@ -563,6 +563,9 @@ static void ggml_cuda_op_mul_mat_vec_q_impl(ggml_backend_cuda_context & ctx, ggm
case GGML_TYPE_IQ1_S_R4:
mul_mat_vec_iq1_s_r4_q8_1_cuda(src0_dd_i, src1_ddq_i, dst_dd_i, ids_data, ne00, row_diff, src1_padded_row_size, src1_ncols, nrows_dst, ne2, nb02, nb12, nb2, ids_nb0, stream);
break;
+ case GGML_TYPE_IQ1_M_R4:
+ mul_mat_vec_iq1_m_r4_q8_1_cuda(src0_dd_i, src1_ddq_i, dst_dd_i, ids_data, ne00, row_diff, src1_padded_row_size, src1_ncols, nrows_dst, ne2, nb02, nb12, nb2, ids_nb0, stream);
+ break;
default:
GGML_ABORT("fatal error");
break;
@@ -683,6 +686,7 @@ bool ggml_cuda_mmvq_type_supported(ggml_type src0_type) {
case GGML_TYPE_IQ5_K_R4:
case GGML_TYPE_IQ5_KS_R4:
case GGML_TYPE_IQ1_S_R4:
+ case GGML_TYPE_IQ1_M_R4:
return true;
default:
return false;