Skip to content

Commit 8f47e25

Browse files
authored
cuda : fix device sync on buffer clear (#14033)
1 parent 201b31d commit 8f47e25

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

ggml/src/ggml-cuda/ggml-cuda.cu

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,9 +615,8 @@ static void ggml_backend_cuda_buffer_clear(ggml_backend_buffer_t buffer, uint8_t
615615
ggml_backend_cuda_buffer_context * ctx = (ggml_backend_cuda_buffer_context *)buffer->context;
616616

617617
ggml_cuda_set_device(ctx->device);
618-
CUDA_CHECK(cudaDeviceSynchronize());
619-
CUDA_CHECK(cudaMemset(ctx->dev_ptr, value, buffer->size));
620-
CUDA_CHECK(cudaDeviceSynchronize());
618+
CUDA_CHECK(cudaMemsetAsync(ctx->dev_ptr, value, buffer->size, cudaStreamPerThread));
619+
CUDA_CHECK(cudaStreamSynchronize(cudaStreamPerThread));
621620
}
622621

623622
static const ggml_backend_buffer_i ggml_backend_cuda_buffer_interface = {

0 commit comments

Comments
 (0)