diff options
author | Georgi Gerganov <ggerganov@gmail.com> | 2023-04-14 13:31:15 +0300 |
---|---|---|
committer | Georgi Gerganov <ggerganov@gmail.com> | 2023-04-14 13:31:15 +0300 |
commit | c14e0d2f23e6d1e785255f4da8c253c1b4723659 (patch) | |
tree | 9ad22d8cf30a92a6fde78989f37a47b02c63d0a8 | |
parent | 723dac55fa2ba7adc6e3fc8609781d1ad0378906 (diff) |
ggml : always allocate buffers with size multiple of GGML_MEM_ALIGN
-rw-r--r-- | ggml.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -3054,9 +3054,11 @@ struct ggml_context * ggml_init(struct ggml_init_params params) { return NULL; } + const size_t mem_size = (params.mem_size + GGML_MEM_ALIGN - 1) & ~(GGML_MEM_ALIGN - 1); + *ctx = (struct ggml_context) { - /*.mem_size =*/ params.mem_size, - /*.mem_buffer =*/ params.mem_buffer ? params.mem_buffer : GGML_ALIGNED_MALLOC(params.mem_size), + /*.mem_size =*/ mem_size, + /*.mem_buffer =*/ params.mem_buffer ? params.mem_buffer : GGML_ALIGNED_MALLOC(mem_size), /*.mem_buffer_owned =*/ params.mem_buffer ? false : true, /*.no_alloc =*/ params.no_alloc, /*.n_objects =*/ 0, @@ -3066,7 +3068,7 @@ struct ggml_context * ggml_init(struct ggml_init_params params) { /*.scratch_save =*/ { 0, 0, NULL, }, }; - GGML_ASSERT(ctx->mem_buffer != NULL); // check for allocation failure + GGML_ASSERT(ctx->mem_buffer != NULL); ggml_assert_aligned(ctx->mem_buffer); |