allow using code from ggml-phi-knc-dot_q5_K_q8_K.c

This commit is contained in:
Julia Longtin 2024-03-23 15:02:56 +00:00
parent d5f39c3caa
commit 2ed306623c

View file

@ -4,6 +4,7 @@
#include "ggml-quants.h" #include "ggml-quants.h"
#include "ggml-impl.h" #include "ggml-impl.h"
// FIXME: why do we import this twice?
#define GGML_COMMON_IMPL_C #define GGML_COMMON_IMPL_C
#include "ggml-common.h" #include "ggml-common.h"
@ -20,6 +21,11 @@
#pragma warning(disable: 4244 4267) #pragma warning(disable: 4244 4267)
#endif #endif
// hand assembled replacement functions are cool.
#if defined(__k1om__)
#include <ggml-phi-knc-dot_q5_K_q8_K.h>
#endif
#define UNUSED GGML_UNUSED #define UNUSED GGML_UNUSED
// some compilers don't provide _mm256_set_m128i, e.g. gcc 7 // 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 #endif
#if defined(__k1om__)
/* We get this from elsewhere. */
#else
#if QK_K == 256 #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) { 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); 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 #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) { 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); 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; *s = sumf;
#endif #endif
} }
#endif #endif /* end QK_K != 256 */
#endif /* defined(__k1om__) */
#if QK_K == 256 #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) { 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) {