[Openmp-commits] [PATCH] D87980: [OpenMP] Protect unrecogonized CUDA error code

Ye Luo via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Sep 21 09:47:32 PDT 2020


ye-luo updated this revision to Diff 293207.
ye-luo added a comment.

Should be good to go now.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87980/new/

https://reviews.llvm.org/D87980

Files:
  openmp/libomptarget/plugins/cuda/src/rtl.cpp


Index: openmp/libomptarget/plugins/cuda/src/rtl.cpp
===================================================================
--- openmp/libomptarget/plugins/cuda/src/rtl.cpp
+++ openmp/libomptarget/plugins/cuda/src/rtl.cpp
@@ -30,9 +30,17 @@
 #define CUDA_ERR_STRING(err)                                                   \
   do {                                                                         \
     if (getDebugLevel() > 0) {                                                 \
-      const char *errStr;                                                      \
-      cuGetErrorString(err, &errStr);                                          \
-      DP("CUDA error is: %s\n", errStr);                                       \
+      const char *errStr = nullptr;                                            \
+      CUresult errStr_status = cuGetErrorString(err, &errStr);                 \
+      if (errStr_status == CUDA_ERROR_INVALID_VALUE)                           \
+        DP("Unrecognized CUDA error code: %d\n", err);                         \
+      else if (errStr_status == CUDA_SUCCESS)                                  \
+        DP("CUDA error is: %s\n", errStr);                                     \
+      else {                                                                   \
+        DP("Unresolved CUDA error code: %d\n", err);                           \
+        DP("Unsuccessful cuGetErrorString return status: %d\n",                \
+           errStr_status);                                                     \
+      }                                                                        \
     }                                                                          \
   } while (false)
 #else // OMPTARGET_DEBUG


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87980.293207.patch
Type: text/x-patch
Size: 1758 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20200921/6dfc4dbc/attachment.bin>


More information about the Openmp-commits mailing list