diff --git a/ggml/src/ggml-metal.m b/ggml/src/ggml-metal.m index f1b4b8e87..923bcf0b4 100644 --- a/ggml/src/ggml-metal.m +++ b/ggml/src/ggml-metal.m @@ -3428,6 +3428,10 @@ static void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) { } } + if(ctx->encode_async) { + Block_release(ctx->encode_async); + } + ctx->encode_async = Block_copy(^(size_t iter) { const int cb_idx = iter; const int n_cb_l = ctx->n_cb;