From: Johannes Gäßler Date: Mon, 2 Feb 2026 09:00:05 +0000 (+0100) Subject: ggml-backend: fix async set/get fallback sync (#19179) X-Git-Tag: upstream/0.0.8067~160 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=59377a6c870be95e4c71715933e4e9ada71b8356;p=pkg%2Fggml%2Fsources%2Fllama.cpp ggml-backend: fix async set/get fallback sync (#19179) --- diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp index 354876574..22c656996 100644 --- a/ggml/src/ggml-backend.cpp +++ b/ggml/src/ggml-backend.cpp @@ -258,6 +258,7 @@ void ggml_backend_tensor_set_async(ggml_backend_t backend, struct ggml_tensor * GGML_ASSERT(offset + size <= ggml_nbytes(tensor) && "tensor write out of bounds"); if (backend->iface.set_tensor_async == NULL) { + ggml_backend_synchronize(backend); ggml_backend_tensor_set(tensor, data, offset, size); } else { backend->iface.set_tensor_async(backend, tensor, data, offset, size); @@ -271,6 +272,7 @@ void ggml_backend_tensor_get_async(ggml_backend_t backend, const struct ggml_ten GGML_ASSERT(offset + size <= ggml_nbytes(tensor) && "tensor read out of bounds"); if (backend->iface.get_tensor_async == NULL) { + ggml_backend_synchronize(backend); ggml_backend_tensor_get(tensor, data, offset, size); } else { backend->iface.get_tensor_async(backend, tensor, data, offset, size);