Fixed a segment fault when n_threads == 1 and GGML_GLOBAL_THREADS is defined

This commit is contained in:
mqy 2023-04-17 18:40:54 +08:00
parent f57ff961fd
commit 481c6d517b

12
ggml.c
View file

@ -10273,11 +10273,13 @@ void ggml_graph_compute(struct ggml_context * ctx, struct ggml_cgraph * cgraph)
}
#ifdef GGML_GLOBAL_THREADS
// wakeup threads.
pthread_mutex_lock(&state_shared->mutex);
state_shared->wait_cmd = false;
pthread_cond_broadcast(&state_shared->cond);
pthread_mutex_unlock(&state_shared->mutex);
if (n_threads > 1) {
// wakeup threads.
pthread_mutex_lock(&state_shared->mutex);
state_shared->wait_cmd = false;
pthread_cond_broadcast(&state_shared->cond);
pthread_mutex_unlock(&state_shared->mutex);
}
#endif
#ifdef GGML_PERF