59 const int blocks_per_row = K /
QK8_0;
61 #pragma omp parallel for schedule(static)
62 for (
int row = 0; row < M; row++) {
64 &w_blocks[row * blocks_per_row],
81 const int blocks_per_row = K /
QK5_0;
83 #pragma omp parallel for schedule(static)
84 for (
int row = 0; row < M; row++) {
86 &w_blocks[row * blocks_per_row],
105 const int blocks_per_row = K /
QK5_0;
112 #pragma omp parallel for schedule(static)
113 for (
int row = 0; row < M; row++) {
115 &w_blocks[row * blocks_per_row],
117 if (bias) y[row] += bias[row];
Quantization block structures for weight-only quantization.
void gemv_fused_q5_0_bias_parallel_omp(float *y, const void *W, const float *x, const float *bias, int M, int K)
void vec_dot_q5_0_q8_0(int n, float *s, const void *vx, const void *vy)
Auto-dispatch quantized dot product Q5_0 x Q8_0.
void gemv_q5_0_q8_0_parallel_omp(float *y, const void *W, const void *x_q8, int M, int K)
void gemv_q8_0_q8_0_parallel_omp(float *y, const void *W, const void *x_q8, int M, int K)
void quantize_row_q8_0(const float *x, void *y, int k)
Quantize FP32 to Q8_0 format (scalar reference)
void vec_dot_q8_0_q8_0(int n, float *s, const void *vx, const void *vy)
Auto-dispatch quantized dot product Q8_0 x Q8_0.