Q5_1 x Q8_1 contract kernels used for ggml parity (Gemma-sensitive path) More...
Go to the source code of this file.
Macros | |
| #define | CK_Q51_STACK_Q8_BLOCKS 256 |
| #define | QK8_1 32 |
Functions | |
| static float | dot_q5_1_q8_1_block (const block_q5_1 *w, const block_q8_1 *x) |
| void | gemm_nt_q5_1_q8_1 (const float *A, const void *B, const float *bias, float *C, int M, int N, int K) |
| void | gemm_nt_q5_1_q8_1_m4 (const float *A, const void *B, const float *bias, float *C, int M, int N, int K) |
| void | gemm_nt_q5_1_q8_1_m8 (const float *A, const void *B, const float *bias, float *C, int M, int N, int K) |
| void | gemm_nt_q5_1_q8_1_ref (const void *A_q8, const void *B, const float *bias, float *C, int M, int N, int K) |
| void | gemv_q5_1_q8_1 (float *y, const void *W, const float *x, int M, int K) |
| void | gemv_q5_1_q8_1_ref (float *y, const void *W, const void *x_q8, int M, int K) |
| static void | quantize_row_q8_1_scalar (const float *x, block_q8_1 *y, int k) |
Q5_1 x Q8_1 contract kernels used for ggml parity (Gemma-sensitive path)
Definition in file gemm_kernels_q5_1_q8_1.c.
| #define CK_Q51_STACK_Q8_BLOCKS 256 |
Definition at line 16 of file gemm_kernels_q5_1_q8_1.c.
| #define QK8_1 32 |
Definition at line 22 of file gemm_kernels_q5_1_q8_1.c.
|
static |
Definition at line 193 of file gemm_kernels_q5_1_q8_1.c.
References CK_FP16_TO_FP32, block_q5_1::d, block_q5_1::m, block_q5_1::qh, QK5_1, and block_q5_1::qs.
Referenced by gemm_nt_q5_1_q8_1(), gemm_nt_q5_1_q8_1_ref(), and gemv_q5_1_q8_1_ref().
| void gemm_nt_q5_1_q8_1 | ( | const float * | A, |
| const void * | B, | ||
| const float * | bias, | ||
| float * | C, | ||
| int | M, | ||
| int | N, | ||
| int | K | ||
| ) |
Definition at line 289 of file gemm_kernels_q5_1_q8_1.c.
References C, CK_Q51_STACK_Q8_BLOCKS, dot_q5_1_q8_1_block(), QK5_1, and quantize_row_q8_1_scalar().
Referenced by gemm_nt_q5_1_q8_1_m4().
| void gemm_nt_q5_1_q8_1_m4 | ( | const float * | A, |
| const void * | B, | ||
| const float * | bias, | ||
| float * | C, | ||
| int | M, | ||
| int | N, | ||
| int | K | ||
| ) |
Definition at line 365 of file gemm_kernels_q5_1_q8_1.c.
References C, CK_Q51_STACK_Q8_BLOCKS, gemm_nt_q5_1_q8_1(), QK5_1, and quantize_row_q8_1_scalar().
Referenced by gemm_nt_q5_1_q8_1_m8().
| void gemm_nt_q5_1_q8_1_m8 | ( | const float * | A, |
| const void * | B, | ||
| const float * | bias, | ||
| float * | C, | ||
| int | M, | ||
| int | N, | ||
| int | K | ||
| ) |
Definition at line 426 of file gemm_kernels_q5_1_q8_1.c.
References C, CK_Q51_STACK_Q8_BLOCKS, gemm_nt_q5_1_q8_1_m4(), QK5_1, and quantize_row_q8_1_scalar().
| void gemm_nt_q5_1_q8_1_ref | ( | const void * | A_q8, |
| const void * | B, | ||
| const float * | bias, | ||
| float * | C, | ||
| int | M, | ||
| int | N, | ||
| int | K | ||
| ) |
Definition at line 242 of file gemm_kernels_q5_1_q8_1.c.
References C, dot_q5_1_q8_1_block(), and QK5_1.
| void gemv_q5_1_q8_1 | ( | float * | y, |
| const void * | W, | ||
| const float * | x, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 269 of file gemm_kernels_q5_1_q8_1.c.
References CK_Q51_STACK_Q8_BLOCKS, gemv_q5_1_q8_1_ref(), QK5_1, and quantize_row_q8_1_scalar().
| void gemv_q5_1_q8_1_ref | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 219 of file gemm_kernels_q5_1_q8_1.c.
References dot_q5_1_q8_1_block(), and QK5_1.
Referenced by gemv_q5_1_q8_1().
|
static |
Definition at line 63 of file gemm_kernels_q5_1_q8_1.c.
References CK_FP32_TO_FP16, and QK8_1.
Referenced by gemm_nt_q5_1_q8_1(), gemm_nt_q5_1_q8_1_m4(), gemm_nt_q5_1_q8_1_m8(), and gemv_q5_1_q8_1().