From 29c1296acc522f4164fa73e7e287162e4692828c Mon Sep 17 00:00:00 2001 From: Gaurav Garg Date: Wed, 20 May 2026 21:00:46 +0530 Subject: [PATCH] Clear tensor-parallel meta backend caches before reusing the buffer Call ggml_reset() on each per-device shadow ggml_context. --- ggml/src/ggml-backend-meta.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ggml/src/ggml-backend-meta.cpp b/ggml/src/ggml-backend-meta.cpp index df0f405ed9f..598bc473efa 100644 --- a/ggml/src/ggml-backend-meta.cpp +++ b/ggml/src/ggml-backend-meta.cpp @@ -1407,8 +1407,15 @@ static void ggml_backend_meta_buffer_clear(ggml_backend_buffer_t buffer, uint8_t } static void ggml_backend_meta_buffer_reset(ggml_backend_buffer_t buffer) { + GGML_ASSERT(ggml_backend_buffer_is_meta(buffer)); + ggml_backend_meta_buffer_context * buf_ctx = (ggml_backend_meta_buffer_context *) buffer->context; + + buf_ctx->simple_tensors.clear(); + buf_ctx->split_state_cache.clear(); + const size_t n_buffers = ggml_backend_meta_buffer_n_bufs(buffer); for (size_t i = 0; i < n_buffers; i++) { + ggml_reset(buf_ctx->buf_configs[i].ctx); ggml_backend_buffer_reset(ggml_backend_meta_buffer_simple_buffer(buffer, i)); } }