agray3 commited on
Commit
3a8eea8
·
1 Parent(s): 71e001c

Reset schedule earlier to allow overlap with ggml graph computation on device (llama/6933)

Browse files
Files changed (1) hide show
  1. ggml-backend.c +7 -5
ggml-backend.c CHANGED
@@ -1784,12 +1784,14 @@ void ggml_backend_sched_free(ggml_backend_sched_t sched) {
1784
 
1785
  void ggml_backend_sched_reset(ggml_backend_sched_t sched) {
1786
  // reset state for the next run
1787
- size_t hash_size = sched->hash_set.size;
1788
- memset(sched->hash_set.keys, 0, sizeof(sched->hash_set.keys[0]) * hash_size); // NOLINT
1789
- memset(sched->tensor_backend_id, -1, sizeof(sched->tensor_backend_id[0]) * hash_size);
1790
- memset(sched->tensor_copies, 0, sizeof(sched->tensor_copies[0]) * hash_size);
 
1791
 
1792
- sched->is_reset = true;
 
1793
  sched->is_alloc = false;
1794
  }
1795
 
 
1784
 
1785
  void ggml_backend_sched_reset(ggml_backend_sched_t sched) {
1786
  // reset state for the next run
1787
+ if (!sched->is_reset) {
1788
+ size_t hash_size = sched->hash_set.size;
1789
+ memset(sched->hash_set.keys, 0, sizeof(sched->hash_set.keys[0]) * hash_size); // NOLINT
1790
+ memset(sched->tensor_backend_id, -1, sizeof(sched->tensor_backend_id[0]) * hash_size);
1791
+ memset(sched->tensor_copies, 0, sizeof(sched->tensor_copies[0]) * hash_size);
1792
 
1793
+ sched->is_reset = true;
1794
+ }
1795
  sched->is_alloc = false;
1796
  }
1797