Go to the source code of this file.
|
| void | gemv_fused_q5_0_bias_parallel_omp (float *y, const void *W, const float *x, const float *bias, int M, int K) |
| |
| 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) |
| |
◆ gemv_fused_q5_0_bias_parallel_omp()
| void gemv_fused_q5_0_bias_parallel_omp |
( |
float * |
y, |
|
|
const void * |
W, |
|
|
const float * |
x, |
|
|
const float * |
bias, |
|
|
int |
M, |
|
|
int |
K |
|
) |
| |
Definition at line 98 of file gemv_omp.c.
103{
105 const int blocks_per_row = K /
QK5_0;
106
107
110
111
112 #pragma omp parallel for schedule(static)
113 for (int row = 0; row < M; row++) {
115 &w_blocks[row * blocks_per_row],
116 x_q8);
117 if (bias) y[row] += bias[row];
118 }
119}
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 quantize_row_q8_0(const float *x, void *y, int k)
Quantize FP32 to Q8_0 format (scalar reference)
References QK5_0, QK8_0, quantize_row_q8_0(), and vec_dot_q5_0_q8_0().
◆ gemv_q5_0_q8_0_parallel_omp()
| void gemv_q5_0_q8_0_parallel_omp |
( |
float * |
y, |
|
|
const void * |
W, |
|
|
const void * |
x_q8, |
|
|
int |
M, |
|
|
int |
K |
|
) |
| |
Definition at line 74 of file gemv_omp.c.
78{
81 const int blocks_per_row = K /
QK5_0;
82
83 #pragma omp parallel for schedule(static)
84 for (int row = 0; row < M; row++) {
86 &w_blocks[row * blocks_per_row],
87 x_blocks);
88 }
89}
References QK5_0, and vec_dot_q5_0_q8_0().
◆ gemv_q8_0_q8_0_parallel_omp()
| void gemv_q8_0_q8_0_parallel_omp |
( |
float * |
y, |
|
|
const void * |
W, |
|
|
const void * |
x_q8, |
|
|
int |
M, |
|
|
int |
K |
|
) |
| |
Definition at line 52 of file gemv_omp.c.
56{
59 const int blocks_per_row = K /
QK8_0;
60
61 #pragma omp parallel for schedule(static)
62 for (int row = 0; row < M; row++) {
64 &w_blocks[row * blocks_per_row],
65 x_blocks);
66 }
67}
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.
References QK8_0, and vec_dot_q8_0_q8_0().