plugin-nvptx.c (nvptx_get_num_devices): Return zero on cuInit failure.
authorJulian Brown <julian@codesourcery.com>
Tue, 19 May 2015 11:06:31 +0000 (11:06 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Tue, 19 May 2015 11:06:31 +0000 (11:06 +0000)
* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
on cuInit failure.

From-SVN: r223352

libgomp/ChangeLog
libgomp/plugin/plugin-nvptx.c

index 33ea5fbf2a2aa518ed4db98d58b70d4d81474184..60ad7f50817c958207a32b655ea46ae263632fce 100644 (file)
@@ -1,3 +1,8 @@
+2015-05-19  Julian Brown  <julian@codesourcery.com>
+
+       * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
+       on cuInit failure.
+
 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/66133
index 583ec87aeee09a735738856543b1d41aa841185f..ee3a0ae14a935e685cf43efd16a797a14a16e2fb 100644 (file)
@@ -782,7 +782,13 @@ nvptx_get_num_devices (void)
      until cuInit has been called.  Just call it now (but don't yet do any
      further initialization).  */
   if (instantiated_devices == 0)
-    cuInit (0);
+    {
+      r = cuInit (0);
+      /* This is not an error: e.g. we may have CUDA libraries installed but
+         no devices available.  */
+      if (r != CUDA_SUCCESS)
+        return 0;
+    }
 
   r = cuDeviceGetCount (&n);
   if (r!= CUDA_SUCCESS)