fixed logic error, should not allocate more memory, and instead update existing parts
This commit is contained in:
parent
cd0022f70f
commit
88a14fcfef
1 changed files with 10 additions and 12 deletions
22
ggml.c
22
ggml.c
|
@ -4723,20 +4723,18 @@ struct ggml_context * ggml_init(struct ggml_init_params params) {
|
||||||
|
|
||||||
const size_t mem_size = params.mem_buffer ? params.mem_size : GGML_PAD(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 *)malloc(sizeof(struct ggml_context));
|
|
||||||
|
|
||||||
struct ggml_scratch empty_scratch = { 0, 0, NULL };
|
struct ggml_scratch empty_scratch = { 0, 0, NULL };
|
||||||
|
|
||||||
(*ctx).mem_size = mem_size;
|
ctx->mem_size = mem_size;
|
||||||
(*ctx).mem_buffer = params.mem_buffer ? params.mem_buffer : GGML_ALIGNED_MALLOC(mem_size);
|
ctx->mem_buffer = params.mem_buffer ? params.mem_buffer : GGML_ALIGNED_MALLOC(mem_size);
|
||||||
(*ctx).mem_buffer_owned = params.mem_buffer ? false : true;
|
ctx->mem_buffer_owned = params.mem_buffer ? false : true;
|
||||||
(*ctx).no_alloc = params.no_alloc;
|
ctx->no_alloc = params.no_alloc;
|
||||||
(*ctx).no_alloc_save = params.no_alloc;
|
ctx->no_alloc_save = params.no_alloc;
|
||||||
(*ctx).n_objects = 0;
|
ctx->n_objects = 0;
|
||||||
(*ctx).objects_begin = NULL;
|
ctx->objects_begin = NULL;
|
||||||
(*ctx).objects_end = NULL;
|
ctx->objects_end = NULL;
|
||||||
(*ctx).scratch = empty_scratch;
|
ctx->scratch = empty_scratch;
|
||||||
(*ctx).scratch_save = empty_scratch;
|
ctx->scratch_save = empty_scratch;
|
||||||
|
|
||||||
GGML_ASSERT(ctx->mem_buffer != NULL);
|
GGML_ASSERT(ctx->mem_buffer != NULL);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue