[CUDA] Bump supported CUDA version to 11.5
Differential Revision: https://reviews.llvm.org/D113249
This commit is contained in:
parent
81081daef0
commit
7ecec3f0f5
|
@ -158,7 +158,7 @@ C++2b Feature Support
|
||||||
CUDA Language Changes in Clang
|
CUDA Language Changes in Clang
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
- Clang now supports CUDA versions up to 11.4.
|
- Clang now supports CUDA versions up to 11.5.
|
||||||
- Default GPU architecture has been changed from sm_20 to sm_35.
|
- Default GPU architecture has been changed from sm_20 to sm_35.
|
||||||
|
|
||||||
Objective-C Language Changes in Clang
|
Objective-C Language Changes in Clang
|
||||||
|
|
|
@ -41,7 +41,9 @@
|
||||||
#pragma push_macro("PTX72")
|
#pragma push_macro("PTX72")
|
||||||
#pragma push_macro("PTX73")
|
#pragma push_macro("PTX73")
|
||||||
#pragma push_macro("PTX74")
|
#pragma push_macro("PTX74")
|
||||||
#define PTX74 "ptx74"
|
#pragma push_macro("PTX75")
|
||||||
|
#define PTX75 "ptx75"
|
||||||
|
#define PTX74 "ptx74|" PTX75
|
||||||
#define PTX73 "ptx73|" PTX74
|
#define PTX73 "ptx73|" PTX74
|
||||||
#define PTX72 "ptx72|" PTX73
|
#define PTX72 "ptx72|" PTX73
|
||||||
#define PTX71 "ptx71|" PTX72
|
#define PTX71 "ptx71|" PTX72
|
||||||
|
@ -827,3 +829,4 @@ TARGET_BUILTIN(__nvvm_cp_async_wait_all, "v", "", AND(SM_80,PTX70))
|
||||||
#pragma pop_macro("PTX72")
|
#pragma pop_macro("PTX72")
|
||||||
#pragma pop_macro("PTX73")
|
#pragma pop_macro("PTX73")
|
||||||
#pragma pop_macro("PTX74")
|
#pragma pop_macro("PTX74")
|
||||||
|
#pragma pop_macro("PTX75")
|
||||||
|
|
|
@ -33,9 +33,10 @@ enum class CudaVersion {
|
||||||
CUDA_112,
|
CUDA_112,
|
||||||
CUDA_113,
|
CUDA_113,
|
||||||
CUDA_114,
|
CUDA_114,
|
||||||
FULLY_SUPPORTED = CUDA_114,
|
CUDA_115,
|
||||||
|
FULLY_SUPPORTED = CUDA_115,
|
||||||
PARTIALLY_SUPPORTED =
|
PARTIALLY_SUPPORTED =
|
||||||
CUDA_114, // Partially supported. Proceed with a warning.
|
CUDA_115, // Partially supported. Proceed with a warning.
|
||||||
NEW = 10000, // Too new. Issue a warning, but allow using it.
|
NEW = 10000, // Too new. Issue a warning, but allow using it.
|
||||||
};
|
};
|
||||||
const char *CudaVersionToString(CudaVersion V);
|
const char *CudaVersionToString(CudaVersion V);
|
||||||
|
|
|
@ -40,6 +40,8 @@ const char *CudaVersionToString(CudaVersion V) {
|
||||||
return "11.3";
|
return "11.3";
|
||||||
case CudaVersion::CUDA_114:
|
case CudaVersion::CUDA_114:
|
||||||
return "11.4";
|
return "11.4";
|
||||||
|
case CudaVersion::CUDA_115:
|
||||||
|
return "11.5";
|
||||||
case CudaVersion::NEW:
|
case CudaVersion::NEW:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -62,6 +64,7 @@ CudaVersion CudaStringToVersion(const llvm::Twine &S) {
|
||||||
.Case("11.2", CudaVersion::CUDA_112)
|
.Case("11.2", CudaVersion::CUDA_112)
|
||||||
.Case("11.3", CudaVersion::CUDA_113)
|
.Case("11.3", CudaVersion::CUDA_113)
|
||||||
.Case("11.4", CudaVersion::CUDA_114)
|
.Case("11.4", CudaVersion::CUDA_114)
|
||||||
|
.Case("11.5", CudaVersion::CUDA_115)
|
||||||
.Default(CudaVersion::UNKNOWN);
|
.Default(CudaVersion::UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,6 +244,8 @@ CudaVersion ToCudaVersion(llvm::VersionTuple Version) {
|
||||||
return CudaVersion::CUDA_113;
|
return CudaVersion::CUDA_113;
|
||||||
case 114:
|
case 114:
|
||||||
return CudaVersion::CUDA_114;
|
return CudaVersion::CUDA_114;
|
||||||
|
case 115:
|
||||||
|
return CudaVersion::CUDA_115;
|
||||||
default:
|
default:
|
||||||
return CudaVersion::UNKNOWN;
|
return CudaVersion::UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ NVPTXTargetInfo::NVPTXTargetInfo(const llvm::Triple &Triple,
|
||||||
if (!Feature.startswith("+ptx"))
|
if (!Feature.startswith("+ptx"))
|
||||||
continue;
|
continue;
|
||||||
PTXVersion = llvm::StringSwitch<unsigned>(Feature)
|
PTXVersion = llvm::StringSwitch<unsigned>(Feature)
|
||||||
|
.Case("+ptx75", 75)
|
||||||
.Case("+ptx74", 74)
|
.Case("+ptx74", 74)
|
||||||
.Case("+ptx73", 73)
|
.Case("+ptx73", 73)
|
||||||
.Case("+ptx72", 72)
|
.Case("+ptx72", 72)
|
||||||
|
|
|
@ -65,6 +65,8 @@ CudaVersion getCudaVersion(uint32_t raw_version) {
|
||||||
return CudaVersion::CUDA_113;
|
return CudaVersion::CUDA_113;
|
||||||
if (raw_version < 11050)
|
if (raw_version < 11050)
|
||||||
return CudaVersion::CUDA_114;
|
return CudaVersion::CUDA_114;
|
||||||
|
if (raw_version < 11060)
|
||||||
|
return CudaVersion::CUDA_115;
|
||||||
return CudaVersion::NEW;
|
return CudaVersion::NEW;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -707,6 +709,7 @@ void CudaToolChain::addClangTargetOptions(
|
||||||
case CudaVersion::CUDA_##CUDA_VER: \
|
case CudaVersion::CUDA_##CUDA_VER: \
|
||||||
PtxFeature = "+ptx" #PTX_VER; \
|
PtxFeature = "+ptx" #PTX_VER; \
|
||||||
break;
|
break;
|
||||||
|
CASE_CUDA_VERSION(115, 75);
|
||||||
CASE_CUDA_VERSION(114, 74);
|
CASE_CUDA_VERSION(114, 74);
|
||||||
CASE_CUDA_VERSION(113, 73);
|
CASE_CUDA_VERSION(113, 73);
|
||||||
CASE_CUDA_VERSION(112, 72);
|
CASE_CUDA_VERSION(112, 72);
|
||||||
|
|
|
@ -23,8 +23,8 @@ Prerequisites
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
CUDA is supported since llvm 3.9. Clang currently supports CUDA 7.0 through
|
CUDA is supported since llvm 3.9. Clang currently supports CUDA 7.0 through
|
||||||
10.1. If clang detects a newer CUDA version, it will issue a warning and will
|
11.5. If clang detects a newer CUDA version, it will issue a warning and will
|
||||||
attempt to use detected CUDA SDK it as if it were CUDA-10.1.
|
attempt to use detected CUDA SDK it as if it were CUDA 11.5.
|
||||||
|
|
||||||
Before you build CUDA code, you'll need to have installed the CUDA SDK. See
|
Before you build CUDA code, you'll need to have installed the CUDA SDK. See
|
||||||
`NVIDIA's CUDA installation guide
|
`NVIDIA's CUDA installation guide
|
||||||
|
|
|
@ -93,6 +93,8 @@ def PTX73 : SubtargetFeature<"ptx73", "PTXVersion", "73",
|
||||||
"Use PTX version 7.3">;
|
"Use PTX version 7.3">;
|
||||||
def PTX74 : SubtargetFeature<"ptx74", "PTXVersion", "74",
|
def PTX74 : SubtargetFeature<"ptx74", "PTXVersion", "74",
|
||||||
"Use PTX version 7.4">;
|
"Use PTX version 7.4">;
|
||||||
|
def PTX75 : SubtargetFeature<"ptx75", "PTXVersion", "75",
|
||||||
|
"Use PTX version 7.5">;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// NVPTX supported processors.
|
// NVPTX supported processors.
|
||||||
|
|
Loading…
Reference in New Issue