Erik Scholz slaren commited on
Commit
e48c553
·
unverified ·
1 Parent(s): b945a8f

fix : cuda order of synchronization when setting a buffer (ggml/679)

Browse files

* fix : cuda order of synchronization when setting a buffer

* also sync before memcpy

---------

Co-authored-by: slaren <[email protected]>

Files changed (2) hide show
  1. extra/sync-ggml.last +1 -1
  2. ggml-cuda.cu +1 -1
extra/sync-ggml.last CHANGED
@@ -1 +1 @@
1
- f96711108d55bdbbd277e6be07204dce6a94fb93
 
1
+ 3eace58911ea8d2cf35defdc59848d99b91a57f5
ggml-cuda.cu CHANGED
@@ -9689,8 +9689,8 @@ static void ggml_backend_cuda_buffer_set_tensor(ggml_backend_buffer_t buffer, gg
9689
 
9690
  ggml_cuda_set_device(ctx->device);
9691
  CUDA_CHECK(cudaDeviceSynchronize());
9692
-
9693
  CUDA_CHECK(cudaMemcpy((char *)tensor->data + offset, data, size, cudaMemcpyHostToDevice));
 
9694
  }
9695
 
9696
  static void ggml_backend_cuda_buffer_get_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * tensor, void * data, size_t offset, size_t size) {
 
9689
 
9690
  ggml_cuda_set_device(ctx->device);
9691
  CUDA_CHECK(cudaDeviceSynchronize());
 
9692
  CUDA_CHECK(cudaMemcpy((char *)tensor->data + offset, data, size, cudaMemcpyHostToDevice));
9693
+ CUDA_CHECK(cudaDeviceSynchronize());
9694
  }
9695
 
9696
  static void ggml_backend_cuda_buffer_get_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * tensor, void * data, size_t offset, size_t size) {