diff options
Diffstat (limited to 'clang/lib/Basic/Cuda.cpp')
-rw-r--r-- | clang/lib/Basic/Cuda.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp index 144113f..22eea1f 100644 --- a/clang/lib/Basic/Cuda.cpp +++ b/clang/lib/Basic/Cuda.cpp @@ -32,6 +32,10 @@ const char *CudaVersionToString(CudaVersion V) { return "10.2"; case CudaVersion::CUDA_110: return "11.0"; + case CudaVersion::CUDA_111: + return "11.1"; + case CudaVersion::CUDA_112: + return "11.2"; } llvm_unreachable("invalid enum"); } @@ -48,6 +52,8 @@ CudaVersion CudaStringToVersion(const llvm::Twine &S) { .Case("10.1", CudaVersion::CUDA_101) .Case("10.2", CudaVersion::CUDA_102) .Case("11.0", CudaVersion::CUDA_110) + .Case("11.1", CudaVersion::CUDA_111) + .Case("11.2", CudaVersion::CUDA_112) .Default(CudaVersion::UNKNOWN); } @@ -71,7 +77,7 @@ CudaArchToStringMap arch_names[] = { SM(60), SM(61), SM(62), // Pascal SM(70), SM(72), // Volta SM(75), // Turing - SM(80), // Ampere + SM(80), SM(86), // Ampere GFX(600), // gfx600 GFX(601), // gfx601 GFX(602), // gfx602 @@ -164,6 +170,8 @@ CudaVersion MinVersionForCudaArch(CudaArch A) { return CudaVersion::CUDA_100; case CudaArch::SM_80: return CudaVersion::CUDA_110; + case CudaArch::SM_86: + return CudaVersion::CUDA_111; default: llvm_unreachable("invalid enum"); } @@ -209,6 +217,10 @@ CudaVersion ToCudaVersion(llvm::VersionTuple Version) { return CudaVersion::CUDA_102; case 110: return CudaVersion::CUDA_110; + case 111: + return CudaVersion::CUDA_111; + case 112: + return CudaVersion::CUDA_112; default: return CudaVersion::UNKNOWN; } |