From 64e3c3beb3a122fd01837de5195d9734076865e1 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sun, 24 Oct 2021 15:54:43 -0400
Subject: [PATCH] CUDA error check

---
 CUDA/cudapi.cu | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/CUDA/cudapi.cu b/CUDA/cudapi.cu
index dd7ac6a..73276a9 100755
--- a/CUDA/cudapi.cu
+++ b/CUDA/cudapi.cu
@@ -28,16 +28,25 @@ void reduce(double *arr) {
    uint64_t len = npts >> 1;
    while (1) {
       reduce_sum<<<blocks,threads>>>(arr,len);
+      cudaCheck("reduce");
       len = len >> 1;
       if (len == 0)
          return;
       }
    }
+void cudaCheck(string msg) {
+   cudaError err;
+   err = cudaGetLastError();
+   if (cudaSuccess != err)
+   cerr << msg << ": " << cudaGetErrorString(err) << endl;
+   }
 int main(void) {
    double harr[1],*darr;
    cudaMalloc(&darr,npts*sizeof(double));
+   cudaCheck("cudaMalloc");
    auto tstart = std::chrono::high_resolution_clock::now();        
    init<<<blocks,threads>>>(darr,nloop);
+   cudaCheck("init");
    reduce(darr);
    cudaDeviceSynchronize();
    auto tend = std::chrono::high_resolution_clock::now();        
-- 
GitLab