]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml-backend: fix async set/get fallback sync (#19179)
authorJohannes Gäßler <redacted>
Mon, 2 Feb 2026 09:00:05 +0000 (10:00 +0100)
committerGitHub <redacted>
Mon, 2 Feb 2026 09:00:05 +0000 (10:00 +0100)
ggml/src/ggml-backend.cpp

index 354876574a0d2dc36a6f8197c169eda1091c3854..22c656996ccdbca8e7b70e5f74e585db67719a92 100644 (file)
@@ -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);