diff --git a/ggml/src/ggml-cpu/iqp.cpp b/ggml/src/ggml-cpu/iqp.cpp index c2e07c0144..871a4f2955 100644 --- a/ggml/src/ggml-cpu/iqp.cpp +++ b/ggml/src/ggml-cpu/iqp.cpp @@ -16,6 +16,16 @@ #define UNUSED GGML_UNUSED +// smallest src1 batch for which the decode pays for itself +#define GGML_IQP_MIN_BATCH 8 + +// same, per expert, for MUL_MAT_ID +#define GGML_IQP_MIN_BATCH_ID 8 + +bool ggml_cpu_iqp_mul_mat_id_min_batch(int64_t cne1) { + return cne1 >= GGML_IQP_MIN_BATCH_ID; +} + // src0 rows interleaved per panel #define IQP_NB_ROWS 8 diff --git a/ggml/src/ggml-cpu/iqp.h b/ggml/src/ggml-cpu/iqp.h index f33e091e32..f831c9b8eb 100644 --- a/ggml/src/ggml-cpu/iqp.h +++ b/ggml/src/ggml-cpu/iqp.h @@ -12,15 +12,8 @@ extern "C" { #endif -// smallest src1 batch for which the decode pays for itself -#define GGML_IQP_MIN_BATCH 8 - -// same, per expert, for MUL_MAT_ID -#define GGML_IQP_MIN_BATCH_ID 8 - -static inline bool ggml_cpu_iqp_mul_mat_id_min_batch(int64_t cne1) { - return cne1 >= GGML_IQP_MIN_BATCH_ID; -} +// whether cne1 rows of src1 are enough for the decode to pay for itself, per expert, for MUL_MAT_ID +bool ggml_cpu_iqp_mul_mat_id_min_batch(int64_t cne1); bool ggml_cpu_iqp_supports_mul_mat(const struct ggml_tensor * dst);