Browse Source

cuda : clear error after buffer allocation failure (#7376)

slaren 1 year ago
parent
commit
ab33f7a338
1 changed files with 2 additions and 0 deletions
  1. 2 0
      ggml-cuda.cu

+ 2 - 0
ggml-cuda.cu

@@ -539,6 +539,8 @@ GGML_CALL static ggml_backend_buffer_t ggml_backend_cuda_buffer_type_alloc_buffe
     void * dev_ptr;
     void * dev_ptr;
     cudaError_t err = cudaMalloc(&dev_ptr, size);
     cudaError_t err = cudaMalloc(&dev_ptr, size);
     if (err != cudaSuccess) {
     if (err != cudaSuccess) {
+        // clear the error
+        cudaGetLastError();
         GGML_CUDA_LOG_ERROR("%s: allocating %.2f MiB on device %d: cudaMalloc failed: %s\n", __func__, size / 1024.0 / 1024.0, buft_ctx->device, cudaGetErrorString(err));
         GGML_CUDA_LOG_ERROR("%s: allocating %.2f MiB on device %d: cudaMalloc failed: %s\n", __func__, size / 1024.0 / 1024.0, buft_ctx->device, cudaGetErrorString(err));
         return nullptr;
         return nullptr;
     }
     }