diff --git a/ggml-quants.c b/ggml-quants.c index 109dd6660..93e51bb11 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" @@ -49,6 +50,11 @@ #include #endif +// hand assembled replacement functions are cool. +#if defined(__k1om__) +#include +#endif + #undef MIN #undef MAX @@ -7094,6 +7100,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); @@ -7518,7 +7527,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); @@ -7787,8 +7796,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) {