]> granicus.if.org Git - clang/commitdiff
[CUDA] Enable CUDA compilation with CUDA-9.2
authorArtem Belevich <tra@google.com>
Tue, 24 Apr 2018 18:23:19 +0000 (18:23 +0000)
committerArtem Belevich <tra@google.com>
Tue, 24 Apr 2018 18:23:19 +0000 (18:23 +0000)
Differential Revision: https://reviews.llvm.org/D45827

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@330753 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Cuda.h
lib/Basic/Cuda.cpp
lib/Driver/ToolChains/Cuda.cpp
lib/Headers/__clang_cuda_runtime_wrapper.h

index 9981cf92fcd982935024fbf992e80d3a2c473225..24159e160f3fc486efe54e733e4c3b2d5539aa74 100644 (file)
@@ -23,7 +23,8 @@ enum class CudaVersion {
   CUDA_80,
   CUDA_90,
   CUDA_91,
-  LATEST = CUDA_91,
+  CUDA_92,
+  LATEST = CUDA_92,
 };
 const char *CudaVersionToString(CudaVersion V);
 
index 970c060c0be35f5d00bcbd9d0a1cb9932f2afbf3..dc7e61c02b24beaa70edc720a45f95b9a813d00b 100644 (file)
@@ -20,6 +20,8 @@ const char *CudaVersionToString(CudaVersion V) {
     return "9.0";
   case CudaVersion::CUDA_91:
     return "9.1";
+  case CudaVersion::CUDA_92:
+    return "9.2";
   }
   llvm_unreachable("invalid enum");
 }
index fdd62fec390b80792699814e8dff7ee03789ab23..3978cb27429bd6241a7873030f77b7b441d0e8d6 100644 (file)
@@ -57,6 +57,8 @@ static CudaVersion ParseCudaVersionFile(llvm::StringRef V) {
     return CudaVersion::CUDA_90;
   if (Major == 9 && Minor == 1)
     return CudaVersion::CUDA_91;
+  if (Major == 9 && Minor == 2)
+    return CudaVersion::CUDA_92;
   return CudaVersion::UNKNOWN;
 }
 
index a5eb4bd74ab3b917aa68bb0e9e2c89af735f3d54..ed6cefb295ce885ef21e7f1ddfad8bf7b1bf1389 100644 (file)
@@ -62,7 +62,7 @@
 #include "cuda.h"
 #if !defined(CUDA_VERSION)
 #error "cuda.h did not define CUDA_VERSION"
-#elif CUDA_VERSION < 7000 || CUDA_VERSION > 9010
+#elif CUDA_VERSION < 7000 || CUDA_VERSION > 9020
 #error "Unsupported CUDA version!"
 #endif
 
@@ -199,6 +199,11 @@ inline __host__ double __signbitd(double x) {
 #endif
 
 #if CUDA_VERSION >= 9000
+// CUDA-9.2 needs host-side memcpy for some host functions in
+// device_functions.hpp
+#if CUDA_VERSION >= 9020
+#include <string.h>
+#endif
 #include "crt/math_functions.hpp"
 #else
 #include "math_functions.hpp"