From 2ed306623c07d444523ba4f79240393c025f5fde Mon Sep 17 00:00:00 2001 From: Julia Longtin Date: Sat, 23 Mar 2024 15:02:56 +0000 Subject: [PATCH] allow using code from ggml-phi-knc-dot_q5_K_q8_K.c --- ggml-quants.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ggml-quants.c b/ggml-quants.c index 00334c5fe..76ad11d42 100644 --- a/ggml-quants.c +++ b/ggml-quants.c @@ -4,6 +4,7 @@ #include "ggml-quants.h" #include "ggml-impl.h" +// FIXME: why do we import this twice? #define GGML_COMMON_IMPL_C #include "ggml-common.h" @@ -20,6 +21,11 @@ #pragma warning(disable: 4244 4267) #endif +// hand assembled replacement functions are cool. +#if defined(__k1om__) +#include +#endif + #define UNUSED GGML_UNUSED // some compilers don't provide _mm256_set_m128i, e.g. gcc 7 @@ -6866,6 +6872,9 @@ void ggml_vec_dot_q4_K_q8_K(int n, float * restrict s, size_t bs, const void * r } #endif +#if defined(__k1om__) +/* We get this from elsewhere. */ +#else #if QK_K == 256 void ggml_vec_dot_q5_K_q8_K(int n, float * restrict s, size_t bs, const void * restrict vx, size_t bx, const void * restrict vy, size_t by, int nrc) { assert(n % QK_K == 0); @@ -7290,7 +7299,7 @@ void ggml_vec_dot_q5_K_q8_K(int n, float * restrict s, size_t bs, const void * r #endif } -#else +#else /* QK_K != 256 */ void ggml_vec_dot_q5_K_q8_K(int n, float * restrict s, size_t bs, const void * restrict vx, size_t bx, const void * restrict vy, size_t by, int nrc) { assert(n % QK_K == 0); @@ -7559,8 +7568,9 @@ void ggml_vec_dot_q5_K_q8_K(int n, float * restrict s, size_t bs, const void * r *s = sumf; #endif } -#endif +#endif /* end QK_K != 256 */ +#endif /* defined(__k1om__) */ #if QK_K == 256 void ggml_vec_dot_q6_K_q8_K(int n, float * restrict s, size_t bs, const void * restrict vx, size_t bx, const void * restrict vy, size_t by, int nrc) {