diff options
author | Artem Belevich <tra@google.com> | 2021-02-03 13:26:00 -0800 |
---|---|---|
committer | Artem Belevich <tra@google.com> | 2021-02-09 11:01:10 -0800 |
commit | 2aa01ccec30109fbcc65934c5d7c8907793e0660 (patch) | |
tree | b31b77417d69c23022ffff2df7d237fccc69f3e0 /clang/lib/Basic/Cuda.cpp | |
parent | 171956aab32efa2d2f4999335a3acec15a9472d9 (diff) | |
download | llvm-2aa01ccec30109fbcc65934c5d7c8907793e0660.zip llvm-2aa01ccec30109fbcc65934c5d7c8907793e0660.tar.gz llvm-2aa01ccec30109fbcc65934c5d7c8907793e0660.tar.bz2 |
[CUDA, NVPTX] Allow targeting sm_86 GPUs.
The patch only plumbs through the option necessary for targeting sm_86 GPUs w/o
adding any new functionality.
Differential Revision: https://reviews.llvm.org/D95974
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; } |