From: agray3 Date: Fri, 26 Apr 2024 18:08:30 +0000 (+0100) Subject: Reset schedule earlier to allow overlap with ggml graph computation on device (llama... X-Git-Tag: upstream/1.7.4~801 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=f0d3fb4a7ed4604a743c8794e08c7a716109d3a9;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp Reset schedule earlier to allow overlap with ggml graph computation on device (llama/6933) * Reset schedule earlier to allow overlap with graph computation on device --- diff --git a/ggml-backend.c b/ggml-backend.c index 2be7ad59..dd090a58 100644 --- a/ggml-backend.c +++ b/ggml-backend.c @@ -1784,12 +1784,14 @@ void ggml_backend_sched_free(ggml_backend_sched_t sched) { void ggml_backend_sched_reset(ggml_backend_sched_t sched) { // reset state for the next run - size_t hash_size = sched->hash_set.size; - memset(sched->hash_set.keys, 0, sizeof(sched->hash_set.keys[0]) * hash_size); // NOLINT - memset(sched->tensor_backend_id, -1, sizeof(sched->tensor_backend_id[0]) * hash_size); - memset(sched->tensor_copies, 0, sizeof(sched->tensor_copies[0]) * hash_size); + if (!sched->is_reset) { + size_t hash_size = sched->hash_set.size; + memset(sched->hash_set.keys, 0, sizeof(sched->hash_set.keys[0]) * hash_size); // NOLINT + memset(sched->tensor_backend_id, -1, sizeof(sched->tensor_backend_id[0]) * hash_size); + memset(sched->tensor_copies, 0, sizeof(sched->tensor_copies[0]) * hash_size); - sched->is_reset = true; + sched->is_reset = true; + } sched->is_alloc = false; }