ggml-blas: fix graph realloc

Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
This commit is contained in:
Aaron Teo 2025-12-20 14:03:24 +08:00
parent 623e7135c2
commit 2ee4d5fe2f
No known key found for this signature in database
1 changed files with 12 additions and 1 deletions

View File

@ -215,6 +215,17 @@ static void ggml_backend_blas_buffer_clear(
memset(ctx->data, value, ctx->size);
}
static void ggml_backend_blas_buffer_reset(ggml_backend_buffer_t buffer) {
GGML_ASSERT(buffer);
ggml_backend_blas_buffer_context * ctx = (ggml_backend_blas_buffer_context *)buffer->context;
for (auto * extra : ctx->buffers) {
ggml_aligned_free(extra->data, extra->size);
delete extra;
}
ctx->buffers.clear();
}
static const ggml_backend_buffer_i ggml_backend_blas_buffer_i = {
/* .free_buffer = */ ggml_backend_blas_buffer_free_buffer,
/* .get_base = */ ggml_backend_blas_buffer_get_base,
@ -224,7 +235,7 @@ static const ggml_backend_buffer_i ggml_backend_blas_buffer_i = {
/* .get_tensor = */ ggml_backend_blas_buffer_get_tensor,
/* .cpy_tensor = */ NULL,
/* .clear = */ ggml_backend_blas_buffer_clear,
/* .reset = */ NULL,
/* .reset = */ ggml_backend_blas_buffer_reset,
};
// BLAS backend buffer type