Spaces:
Running
Running
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- 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 |
-
|
| 1788 |
-
|
| 1789 |
-
|
| 1790 |
-
|
|
|
|
| 1791 |
|
| 1792 |
-
|
|
|
|
| 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 |
|