ggml-cpu: fix data race for debug asserts (#20148)
This commit is contained in:
parent
17a4258946
commit
2850bc6a13
|
|
@ -2129,12 +2129,12 @@ static void ggml_compute_forward_gelu_f32(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const float x = ((float *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const float x = ((float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*(dst->nb[1])))[k];
|
||||
GGML_UNUSED(x);
|
||||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2176,13 +2176,13 @@ static void ggml_compute_forward_gelu_f16(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*( dst->nb[1])))[k];
|
||||
const float v = GGML_CPU_FP16_TO_FP32(x);
|
||||
GGML_UNUSED(v);
|
||||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2325,12 +2325,12 @@ static void ggml_compute_forward_gelu_erf_f32(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const float x = ((float *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const float x = ((float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*(dst->nb[1])))[k];
|
||||
GGML_UNUSED(x);
|
||||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2372,13 +2372,13 @@ static void ggml_compute_forward_gelu_erf_f16(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*( dst->nb[1])))[k];
|
||||
const float v = GGML_CPU_FP16_TO_FP32(x);
|
||||
GGML_UNUSED(v);
|
||||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2444,12 +2444,12 @@ static void ggml_compute_forward_gelu_quick_f32(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const float x = ((float *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const float x = ((float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*(dst->nb[1])))[k];
|
||||
GGML_UNUSED(x);
|
||||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2491,13 +2491,13 @@ static void ggml_compute_forward_gelu_quick_f16(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*( dst->nb[1])))[k];
|
||||
const float v = GGML_CPU_FP16_TO_FP32(x);
|
||||
GGML_UNUSED(v);
|
||||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2563,12 +2563,12 @@ static void ggml_compute_forward_silu_f32(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const float x = ((float *) ((char *) dst->data + i1*(dst->nb[1])))[k];
|
||||
const float x = ((float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*(dst->nb[1])))[k];
|
||||
GGML_UNUSED(x);
|
||||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2610,13 +2610,13 @@ static void ggml_compute_forward_silu_f16(
|
|||
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i1*(dst->nb[1])))[k];
|
||||
const ggml_fp16_t x = ((ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*( dst->nb[1])))[k];
|
||||
const float v = GGML_CPU_FP16_TO_FP32(x);
|
||||
GGML_UNUSED(v);
|
||||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2766,7 +2766,7 @@ static void ggml_compute_forward_silu_back_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2802,7 +2802,7 @@ static void ggml_compute_forward_silu_back_f16(
|
|||
(ggml_fp16_t *) ((char *) src1->data + i1*(src1->nb[1])),
|
||||
(ggml_fp16_t *) ((char *) grad->data + i1*(grad->nb[1])));
|
||||
|
||||
#ifndef NDEBUG
|
||||
#ifndef NDEBUG
|
||||
for (int k = 0; k < nc; k++) {
|
||||
const float x = ((ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])))[k];
|
||||
const float v = GGML_CPU_FP16_TO_FP32(x);
|
||||
|
|
@ -2810,7 +2810,7 @@ static void ggml_compute_forward_silu_back_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2893,7 +2893,7 @@ static void ggml_compute_forward_reglu_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2953,7 +2953,7 @@ static void ggml_compute_forward_reglu_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3036,7 +3036,7 @@ static void ggml_compute_forward_geglu_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3096,7 +3096,7 @@ static void ggml_compute_forward_geglu_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3179,7 +3179,7 @@ static void ggml_compute_forward_swiglu_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3239,7 +3239,7 @@ static void ggml_compute_forward_swiglu_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3330,7 +3330,7 @@ static void ggml_compute_forward_swiglu_oai_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3409,7 +3409,7 @@ static void ggml_compute_forward_geglu_erf_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3469,7 +3469,7 @@ static void ggml_compute_forward_geglu_erf_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3552,7 +3552,7 @@ static void ggml_compute_forward_geglu_quick_f32(
|
|||
assert(!isnan(x));
|
||||
assert(!isinf(x));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3612,7 +3612,7 @@ static void ggml_compute_forward_geglu_quick_f16(
|
|||
assert(!isnan(v));
|
||||
assert(!isinf(v));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5303,7 +5303,7 @@ static void ggml_compute_forward_soft_max_f32(
|
|||
//printf("p[%d] = %f\n", i, p[i]);
|
||||
assert(!isnan(wp[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
|
||||
float max = -INFINITY;
|
||||
ggml_vec_max_f32(ne00, &max, wp);
|
||||
|
|
@ -5328,7 +5328,7 @@ static void ggml_compute_forward_soft_max_f32(
|
|||
assert(!isnan(dp[i]));
|
||||
assert(!isinf(dp[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5402,7 +5402,7 @@ static void ggml_compute_forward_soft_max_ext_back_f32(
|
|||
assert(!isnan(dy[i]));
|
||||
assert(!isnan(y[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
// Jii = yi - yi*yi
|
||||
// Jij = -yi*yj
|
||||
// J = diag(y)-y.T*y
|
||||
|
|
@ -5435,7 +5435,7 @@ static void ggml_compute_forward_soft_max_ext_back_f32(
|
|||
assert(!isnan(dx[i]));
|
||||
assert(!isinf(dx[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -10700,7 +10700,7 @@ static void ggml_compute_forward_cross_entropy_loss_f32(
|
|||
assert(!isnan(s0[i]));
|
||||
assert(!isnan(s1[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
|
||||
float max = -INFINITY;
|
||||
ggml_vec_max_f32(nc, &max, s0);
|
||||
|
|
@ -10719,7 +10719,7 @@ static void ggml_compute_forward_cross_entropy_loss_f32(
|
|||
assert(!isnan(st[i]));
|
||||
assert(!isinf(st[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
sums[ith] = sum_thread;
|
||||
ggml_barrier(params->threadpool);
|
||||
|
|
@ -10792,7 +10792,7 @@ static void ggml_compute_forward_cross_entropy_loss_back_f32(
|
|||
assert(!isnan(s0[i]));
|
||||
assert(!isnan(s1[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
|
||||
// soft_max
|
||||
float max = -INFINITY;
|
||||
|
|
@ -10810,7 +10810,7 @@ static void ggml_compute_forward_cross_entropy_loss_back_f32(
|
|||
assert(!isnan(ds0[i]));
|
||||
assert(!isinf(ds0[i]));
|
||||
}
|
||||
#endif
|
||||
#endif // NDEBUG
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue