Skip to content

Commit 20678dd

Browse files
committed
revert ggml-org#15953 for now as it breaks kokoro
1 parent 121e2fe commit 20678dd

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

ggml/src/ggml-cpu/ops.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3467,27 +3467,31 @@ static void ggml_compute_forward_norm_f32(
34673467

34683468
GGML_ASSERT(eps >= 0.0f);
34693469

3470+
// kcpp: reverted back to non accelerated, because it was breaking kokoro
34703471
for (int64_t i03 = 0; i03 < ne03; i03++) {
34713472
for (int64_t i02 = 0; i02 < ne02; i02++) {
34723473
for (int64_t i01 = ith; i01 < ne01; i01 += nth) {
34733474
const float * x = (float *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03);
34743475

3475-
float sum = 0.0;
3476-
ggml_vec_sum_f32(ne00, &sum, x);
3476+
ggml_float sum = 0.0;
3477+
for (int64_t i00 = 0; i00 < ne00; i00++) {
3478+
sum += (ggml_float)x[i00];
3479+
}
3480+
34773481
float mean = sum/ne00;
34783482

34793483
float * y = (float *) ((char *) dst->data + i01*nb1 + i02*nb2 + i03*nb3);
3480-
float variance = 0;
34813484

3482-
#ifdef GGML_USE_ACCELERATE
3483-
mean = -mean;
3484-
vDSP_vsadd(x, 1, &mean, y, 1, ne00);
3485-
vDSP_measqv(y, 1, &variance, ne00);
3486-
#else
3487-
variance = ggml_vec_cvar_f32(ne00, y, x, mean);
3488-
#endif //GGML_USE_ACCELERATE
3485+
ggml_float sum2 = 0.0;
3486+
for (int64_t i00 = 0; i00 < ne00; i00++) {
3487+
float v = x[i00] - mean;
3488+
y[i00] = v;
3489+
sum2 += (ggml_float)(v*v);
3490+
}
34893491

3492+
float variance = sum2/ne00;
34903493
const float scale = 1.0f/sqrtf(variance + eps);
3494+
34913495
ggml_vec_scale_f32(ne00, y, scale);
34923496
}
34933497
}

0 commit comments

Comments
 (0)