diff options
Diffstat (limited to 'ggml/src/ggml.c')
-rw-r--r-- | ggml/src/ggml.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index d8025a5a..871a0968 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -1583,7 +1583,11 @@ static const ggml_type_traits_t type_traits[GGML_TYPE_COUNT] = { .from_float = quantize_row_iq2_kt, .from_float_ref = (ggml_from_float_t)quantize_row_iq2_kt_ref, .vec_dot = vec_dot_iq2_kt_q8_k, - .vec_dot_type = GGML_TYPE_Q8_K, +#ifdef __ARM_NEON + .vec_dot_type = GGML_TYPE_F16, +#else + .vec_dot_type = GGML_TYPE_F32, +#endif .nrows = 1, .row_meta_size = 4, }, @@ -1596,7 +1600,11 @@ static const ggml_type_traits_t type_traits[GGML_TYPE_COUNT] = { .from_float = quantize_row_iq3_kt, .from_float_ref = (ggml_from_float_t)quantize_row_iq3_kt_ref, .vec_dot = vec_dot_iq3_kt_q8_k, - .vec_dot_type = GGML_TYPE_Q8_K, +#ifdef __ARM_NEON + .vec_dot_type = GGML_TYPE_F16, +#else + .vec_dot_type = GGML_TYPE_F32, +#endif .nrows = 1, .row_meta_size = 4, }, @@ -1609,7 +1617,12 @@ static const ggml_type_traits_t type_traits[GGML_TYPE_COUNT] = { .from_float = quantize_row_iq4_kt, .from_float_ref = (ggml_from_float_t)quantize_row_iq4_kt_ref, .vec_dot = vec_dot_iq4_kt_q8_k, - .vec_dot_type = GGML_TYPE_Q8_K, +#ifdef __ARM_NEON + //.vec_dot_type = GGML_TYPE_F16, + .vec_dot_type = GGML_TYPE_F32, +#else + .vec_dot_type = GGML_TYPE_F32, +#endif .nrows = 1, .row_meta_size = 8, }, |