Skip to content

Commit a7c58ef

Browse files
authored
[CUDA] update default CUDA sm ver to 75 (#20824)
This pull request updates the default NVIDIA GPU architecture used for CUDA from `SM_50` to `SM_75`, as the newest CUDA 13 no longer supports `SM_50`. It also updates several tests: * sets CUDA 10.0 as the default toolkit version used in driver-detection tests * bumps the SM version to 75 and the PTX version to 63 for tests that look for specific output patterns * adds support for the 3-operand atomic intrinsic * adds support for the tanh.approx.f16/f16x2 intrinsic
1 parent 34748e0 commit a7c58ef

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+311
-183
lines changed

clang/include/clang/Basic/OffloadArch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ enum class OffloadArch {
167167
LNL_M,
168168
LAST,
169169

170-
CudaDefault = OffloadArch::SM_52,
170+
CudaDefault = OffloadArch::SM_75,
171171
HIPDefault = OffloadArch::GFX906,
172172
};
173173

clang/lib/Driver/Driver.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5977,11 +5977,11 @@ class OffloadingActionBuilder final {
59775977

59785978
// Handle defaults architectures
59795979
for (auto &Triple : SYCLTripleList) {
5980-
// For NVIDIA use SM_50 as a default
5980+
// For NVIDIA use SM_75 as a default
59815981
if (Triple.isNVPTX() && llvm::none_of(GpuArchList, [&](auto &P) {
59825982
return P.first.isNVPTX();
59835983
})) {
5984-
const char *DefaultArch = OffloadArchToString(OffloadArch::SM_50);
5984+
const char *DefaultArch = OffloadArchToString(OffloadArch::SM_75);
59855985
GpuArchList.emplace_back(Triple, DefaultArch);
59865986
}
59875987

@@ -7696,7 +7696,7 @@ Driver::getOffloadArchs(Compilation &C, const llvm::opt::DerivedArgList &Args,
76967696
// The default arch is set for NVPTX if not provided. For AMDGPU, emit
76977697
// an error as the user is responsible to set the arch.
76987698
if (TC.getTriple().isNVPTX())
7699-
Archs.insert(OffloadArchToString(OffloadArch::SM_50));
7699+
Archs.insert(OffloadArchToString(OffloadArch::SM_75));
77007700
else if (TC.getTriple().isAMDGPU())
77017701
C.getDriver().Diag(clang::diag::err_drv_sycl_missing_amdgpu_arch)
77027702
<< 1 << TC.getTriple().str();

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/bin/.keep

Whitespace-only changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CUDA Version 10.0.130
2+

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include/.keep

Whitespace-only changes.

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/.keep

Whitespace-only changes.

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/nvvm/libdevice/libdevice.10.bc

Whitespace-only changes.

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/nvvm/libdevice/libdevice.compute_30.10.bc

Whitespace-only changes.

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/nvvm/libdevice/libdevice.compute_35.10.bc

Whitespace-only changes.

clang/test/Driver/Inputs/CUDA-windows/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/nvvm/libdevice/libdevice.compute_50.10.bc

Whitespace-only changes.

0 commit comments

Comments
 (0)