diff --git a/ggml.c b/ggml.c index 7705a7715..d83c95adb 100644 --- a/ggml.c +++ b/ggml.c @@ -4579,6 +4579,11 @@ struct ggml_context * ggml_init(struct ggml_init_params params) { return NULL; } + // allow to call ggml_init with 0 size + if (params.mem_size == 0) { + params.mem_size = GGML_MEM_ALIGN; + } + const size_t mem_size = params.mem_buffer ? params.mem_size : GGML_PAD(params.mem_size, GGML_MEM_ALIGN); *ctx = (struct ggml_context) { diff --git a/llama.cpp b/llama.cpp index 537033d7f..cab7156f4 100644 --- a/llama.cpp +++ b/llama.cpp @@ -5406,7 +5406,7 @@ void llama_backend_init(bool numa) { // needed to initialize f16 tables { - struct ggml_init_params params = { 1, NULL, false }; + struct ggml_init_params params = { 0, NULL, false }; struct ggml_context * ctx = ggml_init(params); ggml_free(ctx); }