aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Cuda.cpp
diff options
context:
space:
mode:
authorArtem Belevich <tra@google.com>2022-08-09 17:28:30 -0700
committerArtem Belevich <tra@google.com>2022-10-07 13:59:28 -0700
commit9a01cca66036087e4da37c221a4b911818910524 (patch)
tree3aaade34836baef7e06a60d2d789b4f1e7cd5cc5 /clang/lib/Basic/Cuda.cpp
parentf3a2cbcf97f5c7a58f9d4c5588c2bea8028f8c58 (diff)
downloadllvm-9a01cca66036087e4da37c221a4b911818910524.zip
llvm-9a01cca66036087e4da37c221a4b911818910524.tar.gz
llvm-9a01cca66036087e4da37c221a4b911818910524.tar.bz2
Add support for CUDA-11.8 and sm_{87,89,90} GPUs.
Differential Revision: https://reviews.llvm.org/D135306
Diffstat (limited to 'clang/lib/Basic/Cuda.cpp')
-rw-r--r--clang/lib/Basic/Cuda.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp
index 142e794..cb9c679 100644
--- a/clang/lib/Basic/Cuda.cpp
+++ b/clang/lib/Basic/Cuda.cpp
@@ -35,6 +35,9 @@ static const CudaVersionMapEntry CudaNameVersionMap[] = {
CUDA_ENTRY(11, 3),
CUDA_ENTRY(11, 4),
CUDA_ENTRY(11, 5),
+ CUDA_ENTRY(11, 6),
+ CUDA_ENTRY(11, 7),
+ CUDA_ENTRY(11, 8),
{"", CudaVersion::NEW, llvm::VersionTuple(std::numeric_limits<int>::max())},
{"unknown", CudaVersion::UNKNOWN, {}} // End of list tombstone.
};
@@ -86,6 +89,9 @@ static const CudaArchToStringMap arch_names[] = {
SM(70), SM(72), // Volta
SM(75), // Turing
SM(80), SM(86), // Ampere
+ SM(87), // Jetson/Drive AGX Orin
+ SM(89), // Ada Lovelace
+ SM(90), // Hopper
GFX(600), // gfx600
GFX(601), // gfx601
GFX(602), // gfx602
@@ -191,6 +197,11 @@ CudaVersion MinVersionForCudaArch(CudaArch A) {
return CudaVersion::CUDA_110;
case CudaArch::SM_86:
return CudaVersion::CUDA_111;
+ case CudaArch::SM_87:
+ return CudaVersion::CUDA_114;
+ case CudaArch::SM_89:
+ case CudaArch::SM_90:
+ return CudaVersion::CUDA_118;
default:
llvm_unreachable("invalid enum");
}