]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
ggml : remove redundant set of contexts used field (#978)
authorDaniel Bevenius <redacted>
Wed, 16 Oct 2024 18:10:01 +0000 (20:10 +0200)
committerGitHub <redacted>
Wed, 16 Oct 2024 18:10:01 +0000 (21:10 +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.

src/ggml.c

index 3f01092d9f59aebc47ea51c7ac2810d5d4dcd866..d448a61a95942c73982ab6bb5beeafd637304783 100644 (file)
@@ -3823,10 +3823,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);