aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Gerganov <ggerganov@gmail.com>2023-04-18 23:11:23 +0300
committerGeorgi Gerganov <ggerganov@gmail.com>2023-04-18 23:11:23 +0300
commit50a8a2af97cb92e53e7a3195aa201c3d87da5415 (patch)
tree9ad452f264b4d2640e6bf16463256fe522eb205c
parent4caebf6d408b91c2d29d0abc7b1e867b5de64db5 (diff)
ggml : scratch that - vmlaq_n_f32 is always better
Had a background process that was messing with the timings
-rw-r--r--ggml.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/ggml.c b/ggml.c
index 66a8c5b..5fcb81c 100644
--- a/ggml.c
+++ b/ggml.c
@@ -2810,15 +2810,9 @@ static void ggml_vec_dot_q4_0_q8_0(const int n, float * restrict s, const void *
const int32x4_t p_0 = vdotq_s32(vdotq_s32(vdupq_n_s32(0), v0_0ls, v1_0ls), v0_0hs, v1_0hs);
const int32x4_t p_1 = vdotq_s32(vdotq_s32(vdupq_n_s32(0), v0_1ls, v1_1ls), v0_1hs, v1_1hs);
-#if 0
- // note: this is faster for 4-6 threads by slower for more threads
sumv0 = vmlaq_n_f32(sumv0, vcvtq_f32_s32(p_0), x0->d*y0->d);
sumv1 = vmlaq_n_f32(sumv1, vcvtq_f32_s32(p_1), x1->d*y1->d);
#else
- sumv0 = vaddq_f32(sumv0, vmulq_f32(vcvtq_f32_s32(p_0), vdupq_n_f32(x0->d*y0->d)));
- sumv1 = vaddq_f32(sumv1, vmulq_f32(vcvtq_f32_s32(p_1), vdupq_n_f32(x1->d*y1->d)));
-#endif
-#else
const int16x8_t pl0l = vmull_s8(vget_low_s8 (v0_0ls), vget_low_s8 (v1_0ls));
const int16x8_t pl0h = vmull_s8(vget_high_s8(v0_0ls), vget_high_s8(v1_0ls));
const int16x8_t ph0l = vmull_s8(vget_low_s8 (v0_0hs), vget_low_s8 (v1_0hs));