]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
cuda : fix device sync on buffer clear (#14033)
authorDiego Devesa <redacted>
Mon, 9 Jun 2025 14:36:26 +0000 (07:36 -0700)
committerGitHub <redacted>
Mon, 9 Jun 2025 14:36:26 +0000 (16:36 +0200)
ggml/src/ggml-cuda/ggml-cuda.cu

index 3d2a0a36dd56baffc989a49fb31f62fc82c00b02..0bd2904e1c9d1940ccc01dc9a0eeecc3c346c436 100644 (file)
@@ -615,9 +615,8 @@ static void ggml_backend_cuda_buffer_clear(ggml_backend_buffer_t buffer, uint8_t
     ggml_backend_cuda_buffer_context * ctx = (ggml_backend_cuda_buffer_context *)buffer->context;
 
     ggml_cuda_set_device(ctx->device);
-    CUDA_CHECK(cudaDeviceSynchronize());
-    CUDA_CHECK(cudaMemset(ctx->dev_ptr, value, buffer->size));
-    CUDA_CHECK(cudaDeviceSynchronize());
+    CUDA_CHECK(cudaMemsetAsync(ctx->dev_ptr, value, buffer->size, cudaStreamPerThread));
+    CUDA_CHECK(cudaStreamSynchronize(cudaStreamPerThread));
 }
 
 static const ggml_backend_buffer_i ggml_backend_cuda_buffer_interface = {