]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml : remove redundant set of contexts used field (ggml/978)
authorDaniel Bevenius <redacted>
Wed, 16 Oct 2024 18:10:01 +0000 (20:10 +0200)
committerGeorgi Gerganov <redacted>
Wed, 23 Oct 2024 13:50:02 +0000 (16:50 +0300)
This commit removes the setting of the `used` field of the contexts in
the global state (g_state) in `ggml_init`.

The motivation for this change is that I believe that this additional
initialization might not be required after the changes in Commit
45fc4fed0b9fb5b1af4a8525cbebb95e11208732 ("sync : latest changes from
whisper.cpp"), which changed the initialization of the contexts field
from `{ 0 }` to `{ { 0 } }`:

```console
             g_state = (struct ggml_state) {
-                /*.contexts =*/ { 0 },
+                /*.contexts =*/ { { 0 } },
             };
```
My understanding is that the `{0}` initialization might not have
zero-initialized all the nested fields in every array element because of
compiler differences, and might have been the reason for having the
explicit setting of the `used` fields to false.

ggml/src/ggml.c

index b16c462fa1491b36400175dd769bc5368bfd9906..1741d333834edc34594a68a3ac2a436c8f738c70 100644 (file)
@@ -3852,10 +3852,6 @@ struct ggml_context * ggml_init(struct ggml_init_params params) {
                 },
             };
 
-            for (int i = 0; i < GGML_MAX_CONTEXTS; ++i) {
-                g_state.contexts[i].used = false;
-            }
-
             const uint64_t t_end = ggml_time_us(); UNUSED(t_end);
 
             GGML_PRINT_DEBUG("%s: g_state initialized in %f ms\n", __func__, (t_end - t_start)/1000.0f);