diff --git a/README.md b/README.md index ab9e8c098e11..b601483efbb8 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ in daily releases. None of the branches in the project are stable or rigorously tested for production quality control, so the quality of these releases is expected to be similar to the daily releases. -SYCLomatic supports migrating programs implemented with CUDA versions 8.0, 9.x, 10.x, 11.x, 12.0-12.8. The list of supported languages and versions may be extended in the future. +SYCLomatic supports migrating programs implemented with CUDA versions 8.0, 9.x, 10.x, 11.x, 12.0-12.9. The list of supported languages and versions may be extended in the future. ## Build from source code ### Prerequisites diff --git a/clang/include/clang/Basic/Cuda.h b/clang/include/clang/Basic/Cuda.h index 2cefbdf325fd..43c8f0eca116 100644 --- a/clang/include/clang/Basic/Cuda.h +++ b/clang/include/clang/Basic/Cuda.h @@ -50,13 +50,16 @@ enum class CudaVersion { CUDA_126, CUDA_128, #ifdef SYCLomatic_CUSTOMIZATION - FULLY_SUPPORTED = CUDA_126, + CUDA_129, + FULLY_SUPPORTED = CUDA_123, + PARTIALLY_SUPPORTED = + CUDA_129, // Partially supported. Proceed with a warning. #else FULLY_SUPPORTED = CUDA_123, -#endif PARTIALLY_SUPPORTED = CUDA_128, // Partially supported. Proceed with a warning. - NEW = 10000, // Too new. Issue a warning, but allow using it. +#endif + NEW = 10000, // Too new. Issue a warning, but allow using it. }; const char *CudaVersionToString(CudaVersion V); #ifdef SYCLomatic_CUSTOMIZATION diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp index 279dd8c28ccb..8f042006d2e4 100644 --- a/clang/lib/Basic/Cuda.cpp +++ b/clang/lib/Basic/Cuda.cpp @@ -45,6 +45,9 @@ static const CudaVersionMapEntry CudaNameVersionMap[] = { CUDA_ENTRY(12, 5), CUDA_ENTRY(12, 6), CUDA_ENTRY(12, 8), +#ifdef SYCLomatic_CUSTOMIZATION + CUDA_ENTRY(12, 9), +#endif {"", CudaVersion::NEW, llvm::VersionTuple(std::numeric_limits::max())}, {"unknown", CudaVersion::UNKNOWN, {}} // End of list tombstone. }; diff --git a/clang/lib/DPCT/RulesLang/RulesLang.cpp b/clang/lib/DPCT/RulesLang/RulesLang.cpp index 859bf795c812..d40666018a31 100644 --- a/clang/lib/DPCT/RulesLang/RulesLang.cpp +++ b/clang/lib/DPCT/RulesLang/RulesLang.cpp @@ -53,6 +53,7 @@ using namespace clang::tooling; extern clang::tooling::UnifiedPath DpctInstallPath; // Installation directory for this tool extern DpctOption ProcessAll; extern DpctOption AsyncHandler; +extern int ThrustVersion; namespace clang{ namespace dpct{ @@ -280,6 +281,17 @@ void MiscAPIRule::runRule(const MatchFinder::MatchResult &Result) { // Rule for types migration in var declarations and field declarations void TypeInDeclRule::registerMatcher(MatchFinder &MF) { + int ThrustMajorVersion = ThrustVersion / 100000; + int ThrustMinorVersion = ThrustVersion / 100 % 1000; + + auto thrustNamespace = [=]() -> std::string { + if (ThrustMajorVersion >= 2 && ThrustMinorVersion >= 8) { + // For CUDA-12.9 or later + return "cuda::std::"; + } + return "thrust::"; + }; + MF.addMatcher( typeLoc( loc(qualType(hasDeclaration(namedDecl(hasAnyName( @@ -294,7 +306,7 @@ void TypeInDeclRule::registerMatcher(MatchFinder &MF) { "thrust::permutation_iterator", "thrust::iterator_difference", "cusolverDnHandle_t", "cusolverDnParams_t", "gesvdjInfo_t", "syevjInfo_t", "thrust::device_malloc_allocator", - "thrust::divides", "thrust::tuple", "thrust::maximum", + "thrust::divides", thrustNamespace() + "tuple", "thrust::maximum", "thrust::multiplies", "thrust::plus", "cudaDataType_t", "cudaError_t", "CUresult", "CUdevice", "cudaEvent_t", "cublasStatus_t", "cuComplex", "cuFloatComplex", @@ -316,15 +328,16 @@ void TypeInDeclRule::registerMatcher(MatchFinder &MF) { "curandRngType_t", "curandOrdering_t", "cufftHandle", "cufftReal", "cufftDoubleReal", "cufftComplex", "cufftDoubleComplex", "cufftResult_t", "cufftResult", "cufftType_t", "cufftType", - "thrust::pair", "CUdeviceptr", "cudaDeviceAttr", "CUmodule", - "CUjit_option", "CUfunction", "cudaMemcpyKind", "cudaComputeMode", - "__nv_bfloat16", "cooperative_groups::__v1::thread_group", + thrustNamespace() + "pair", "CUdeviceptr", "cudaDeviceAttr", + "CUmodule", "CUjit_option", "CUfunction", "cudaMemcpyKind", + "cudaComputeMode", "__nv_bfloat16", + "cooperative_groups::__v1::thread_group", "cooperative_groups::__v1::thread_block", "libraryPropertyType_t", "libraryPropertyType", "cudaDataType_t", "cudaDataType", "cublasComputeType_t", "cublasAtomicsMode_t", "cublasMath_t", "CUmem_advise_enum", "CUmem_advise", "CUmemorytype", - "CUmemorytype_enum", "thrust::tuple_element", - "thrust::tuple_size", "thrust::zip_iterator", + "CUmemorytype_enum", thrustNamespace() + "tuple_element", + thrustNamespace() + "tuple_size", "thrust::zip_iterator", "cudaPointerAttributes", "CUpointer_attribute", "cusolverEigRange_t", "cudaUUID_t", "cusolverDnFunction_t", "cusolverAlgMode_t", "cusparseIndexType_t", "cusparseFormat_t", diff --git a/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.cpp b/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.cpp index aa3417c0b0df..1f18762845dc 100644 --- a/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.cpp +++ b/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.cpp @@ -129,15 +129,9 @@ void CubTypeRule::runRule( bool CubTypeRule::CanMappingToSyclNativeBinaryOp(StringRef OpTypeName) { return OpTypeName == "cub::Sum" || OpTypeName == "cub::Max" || - OpTypeName == "cub::Min"; -} - -bool CubTypeRule::CanMappingToSyclType(StringRef OpTypeName) { - return CanMappingToSyclNativeBinaryOp(OpTypeName) || - OpTypeName == "cub::Equality" || OpTypeName == "cub::NullType" || - - // Ignore template arguments, .e.g cub::KeyValuePair - OpTypeName.starts_with("cub::KeyValuePair"); + OpTypeName == "cub::Min" || OpTypeName == "cuda::std::plus" || + OpTypeName == "cuda::maximum" || + OpTypeName == "cuda::minimum"; } void CubDeviceLevelRule::registerMatcher(ast_matchers::MatchFinder &MF) { @@ -854,9 +848,9 @@ std::string CubRule::getOpRepl(const Expr *Operator) { Obj->getType().getCanonicalType()); if (OpType == "cub::Sum" || OpType == "cuda::std::plus") { OpRepl = MapNames::getClNamespace() + "plus<>()"; - } else if (OpType == "cub::Max") { + } else if (OpType == "cub::Max" || OpType == "cuda::maximum") { OpRepl = MapNames::getClNamespace() + "maximum<>()"; - } else if (OpType == "cub::Min") { + } else if (OpType == "cub::Min" || OpType == "cuda::minimum") { OpRepl = MapNames::getClNamespace() + "minimum<>()"; } }; @@ -873,7 +867,9 @@ std::string CubRule::getOpRepl(const Expr *Operator) { std::string OpType = DpctGlobalInfo::getUnqualifiedTypeName( D->getType().getCanonicalType()); if (OpType == "cub::Sum" || OpType == "cub::Max" || - OpType == "cub::Min" || OpType == "cuda::std::plus") { + OpType == "cub::Min" || OpType == "cuda::std::plus" || + OpType == "cuda::maximum" || + OpType == "cuda::minimum") { ExprAnalysis EA(Operator); OpRepl = EA.getReplacedString(); } diff --git a/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.h b/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.h index d9789b63b39d..513f1f680a86 100644 --- a/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.h +++ b/clang/lib/DPCT/RulesLangLib/CUBAPIMigration.h @@ -21,7 +21,6 @@ class CubTypeRule : public NamedMigrationRule { void runRule(const ast_matchers::MatchFinder::MatchResult &Result); static bool CanMappingToSyclNativeBinaryOp(StringRef OpTypeName); - static bool CanMappingToSyclType(StringRef OpTypeName); }; class CubDeviceLevelRule : public NamedMigrationRule { diff --git a/clang/lib/DPCT/RulesLangLib/ThrustAPIMigration.cpp b/clang/lib/DPCT/RulesLangLib/ThrustAPIMigration.cpp index c49bf63705fc..efe87c2a06c5 100644 --- a/clang/lib/DPCT/RulesLangLib/ThrustAPIMigration.cpp +++ b/clang/lib/DPCT/RulesLangLib/ThrustAPIMigration.cpp @@ -22,116 +22,44 @@ void ThrustAPIRule::registerMatcher(ast_matchers::MatchFinder &MF) { // API register auto functionName = [&]() { return hasAnyName("on"); }; - // THRUST_200302___CUDA_ARCH_LIST___NS is newly imported inline - // namespace by thrust library in CUDA header file 12.4. - auto thrustFuncNameCuda124 = [&]() { - return hasAnyName("THRUST_200302___CUDA_ARCH_LIST___NS", - "THRUST_200302___CUDA_ARCH_LIST___NS::detail", - "THRUST_200302___CUDA_ARCH_LIST___NS::system"); - }; - - // THRUST_200400___CUDA_ARCH_LIST___NS is newly imported inline - // namespace by thrust library in CUDA header file 12.5. - auto thrustFuncNameCuda125 = [&]() { - return hasAnyName("THRUST_200400___CUDA_ARCH_LIST___NS", - "THRUST_200400___CUDA_ARCH_LIST___NS::detail", - "THRUST_200400___CUDA_ARCH_LIST___NS::system"); - }; - - // THRUST_200500___CUDA_ARCH_LIST___NS is newly imported inline - // namespace by thrust library in CUDA header file 12.6. - auto thrustFuncNameCuda126 = [&]() { - return hasAnyName("THRUST_200500___CUDA_ARCH_LIST___NS", - "THRUST_200500___CUDA_ARCH_LIST___NS::detail", - "THRUST_200500___CUDA_ARCH_LIST___NS::system"); - }; - - // THRUST_200700___CUDA_ARCH_LIST___NS is newly imported inline - // namespace by thrust library in CUDA header file 12.6. - auto thrustFuncNameCuda128 = [&]() { - return hasAnyName("THRUST_200700___CUDA_ARCH_LIST___NS", - "THRUST_200700___CUDA_ARCH_LIST___NS::detail", - "THRUST_200700___CUDA_ARCH_LIST___NS::system"); - }; - - auto thrustFuncNameCudaCommon = [&]() { - return hasAnyName("thrust", "thrust::detail", "thrust::system", "__4"); - }; - int ThrustMajorVersion = ThrustVersion / 100000; int ThrustMinorVersion = ThrustVersion / 100 % 1000; - if (ThrustMajorVersion == 2 && ThrustMinorVersion == 3) { - // For CUDA-12.4 - MF.addMatcher( - callExpr( - anyOf(callee(functionDecl(anyOf( - hasDeclContext(namespaceDecl(thrustFuncNameCuda124())), - hasDeclContext(namespaceDecl(thrustFuncNameCudaCommon())), - functionName()))), - callee(unresolvedLookupExpr( - hasAnyDeclaration(namedDecl(hasDeclContext(namespaceDecl( - anyOf(thrustFuncNameCuda124(), - thrustFuncNameCudaCommon()))))))))) - .bind("thrustFuncCall"), - this); - - } else if (ThrustMajorVersion == 2 && ThrustMinorVersion == 4) { - // For CUDA-12.5 - MF.addMatcher( - callExpr( - anyOf(callee(functionDecl(anyOf( - hasDeclContext(namespaceDecl(thrustFuncNameCuda125())), - hasDeclContext(namespaceDecl(thrustFuncNameCudaCommon())), - functionName()))), - callee(unresolvedLookupExpr( - hasAnyDeclaration(namedDecl(hasDeclContext(namespaceDecl( - anyOf(thrustFuncNameCuda125(), - thrustFuncNameCudaCommon()))))))))) - .bind("thrustFuncCall"), - this); - } else if (ThrustMajorVersion == 2 && ThrustMinorVersion == 5) { - // For CUDA-12.6 - MF.addMatcher( - callExpr( - anyOf(callee(functionDecl(anyOf( - hasDeclContext(namespaceDecl(thrustFuncNameCuda126())), - hasDeclContext(namespaceDecl(thrustFuncNameCudaCommon())), - functionName()))), - callee(unresolvedLookupExpr( - hasAnyDeclaration(namedDecl(hasDeclContext(namespaceDecl( - anyOf(thrustFuncNameCuda126(), - thrustFuncNameCudaCommon()))))))))) - .bind("thrustFuncCall"), - this); - } else if (ThrustMajorVersion == 2 && ThrustMinorVersion == 7) { - // For CUDA-12.8 - MF.addMatcher( - callExpr( - anyOf(callee(functionDecl(anyOf( - hasDeclContext(namespaceDecl(thrustFuncNameCuda128())), - hasDeclContext(namespaceDecl(thrustFuncNameCudaCommon())), - functionName()))), - callee(unresolvedLookupExpr( - hasAnyDeclaration(namedDecl(hasDeclContext(namespaceDecl( - anyOf(thrustFuncNameCuda128(), - thrustFuncNameCudaCommon()))))))))) - .bind("thrustFuncCall"), - this); - } else { - // For CUDA SDK versions before CUDA-12.4 - MF.addMatcher( - callExpr( - anyOf(callee(functionDecl(anyOf( - hasDeclContext(namespaceDecl(thrustFuncNameCudaCommon())), - - functionName()))), - callee(unresolvedLookupExpr( - hasAnyDeclaration(namedDecl(hasDeclContext( - namespaceDecl(thrustFuncNameCudaCommon())))))))) - .bind("thrustFuncCall"), - this); - } + auto thrustFuncName = [&]() { +#define COMMON "thrust", "thrust::detail", "thrust::system", "__4" + if (ThrustMajorVersion == 2 && ThrustMinorVersion == 3) + return hasAnyName("THRUST_200302___CUDA_ARCH_LIST___NS", + "THRUST_200302___CUDA_ARCH_LIST___NS::detail", + "THRUST_200302___CUDA_ARCH_LIST___NS::system", COMMON); + if (ThrustMajorVersion == 2 && ThrustMinorVersion == 4) + return hasAnyName("THRUST_200400___CUDA_ARCH_LIST___NS", + "THRUST_200400___CUDA_ARCH_LIST___NS::detail", + "THRUST_200400___CUDA_ARCH_LIST___NS::system", COMMON); + if (ThrustMajorVersion == 2 && ThrustMinorVersion == 5) + return hasAnyName("THRUST_200500___CUDA_ARCH_LIST___NS", + "THRUST_200500___CUDA_ARCH_LIST___NS::detail", + "THRUST_200500___CUDA_ARCH_LIST___NS::system", COMMON); + if (ThrustMajorVersion == 2 && ThrustMinorVersion == 7) + return hasAnyName("THRUST_200700___CUDA_ARCH_LIST___NS", + "THRUST_200700___CUDA_ARCH_LIST___NS::detail", + "THRUST_200700___CUDA_ARCH_LIST___NS::system", COMMON); + if (ThrustMajorVersion == 2 && ThrustMinorVersion == 8) + return hasAnyName("THRUST_200802_SM___CUDA_ARCH_LIST___NS", + "THRUST_200802_SM___CUDA_ARCH_LIST___NS::detail", + "THRUST_200802_SM___CUDA_ARCH_LIST___NS::system", + COMMON); + return hasAnyName(COMMON); +#undef COMMON + }; + + MF.addMatcher( + callExpr(anyOf(callee(functionDecl( + anyOf(hasDeclContext(namespaceDecl(thrustFuncName())), + functionName()))), + callee(unresolvedLookupExpr(hasAnyDeclaration(namedDecl( + hasDeclContext(namespaceDecl(thrustFuncName())))))))) + .bind("thrustFuncCall"), + this); // THRUST_STATIC_ASSERT macro register MF.addMatcher(staticAssertDecl(isExpandedFromMacro("THRUST_STATIC_ASSERT")) diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp index 6d900ef9f563..c62fe79620f6 100644 --- a/clang/lib/Driver/ToolChains/Cuda.cpp +++ b/clang/lib/Driver/ToolChains/Cuda.cpp @@ -199,9 +199,10 @@ bool CudaInstallationDetector::ParseCudaVersionFile(const std::string &FilePath) Version = CudaVersion::CUDA_126; } else if (Major == 12 && Minor == 8) { Version = CudaVersion::CUDA_128; + } else if (Major == 12 && Minor == 9) { + Version = CudaVersion::CUDA_129; } - if (Version != CudaVersion::UNKNOWN) { IsVersionSupported = true; return true; @@ -264,7 +265,7 @@ CudaVersion getCudaVersion(uint32_t raw_version) { return CudaVersion::CUDA_124; if (raw_version < 12060) return CudaVersion::CUDA_125; - if (raw_version < 12080) + if (raw_version < 12070) return CudaVersion::CUDA_126; if (raw_version < 12090) return CudaVersion::CUDA_128; @@ -350,31 +351,10 @@ CudaInstallationDetector::CudaInstallationDetector( // In decreasing order so we prefer newer versions to older versions. #ifdef SYCLomatic_CUSTOMIZATION - std::initializer_list Versions = {"12.8", - "12.6", - "12.5", - "12.4", - "12.3", - "12.2", - "12.1", - "12.0", - "11.8", - "11.7", - "11.6", - "11.5", - "11.4", - "11.3", - "11.2", - "11.1", - "10.2", - "10.1", - "10.0", - "9.2", - "9.1", - "9.0", - "8.0", - "7.5", - "7.0"}; + std::initializer_list Versions = { + "12.9", "12.8", "12.6", "12.5", "12.4", "12.3", "12.2", "12.1", "12.0", + "11.8", "11.7", "11.6", "11.5", "11.4", "11.3", "11.2", "11.1", "10.2", + "10.1", "10.0", "9.2", "9.1", "9.0", "8.0", "7.5", "7.0"}; #else std::initializer_list Versions = { "11.4", "11.3", "11.2", "11.1", "10.2", "10.1", "10.0", diff --git a/clang/test/dpct/NVTX/NVTX-linux.cu b/clang/test/dpct/NVTX/NVTX-linux.cu index 4017c0b680fb..9eb8ebd99430 100644 --- a/clang/test/dpct/NVTX/NVTX-linux.cu +++ b/clang/test/dpct/NVTX/NVTX-linux.cu @@ -1,4 +1,5 @@ // UNSUPPORTED: system-windows +// UNSUPPORTED: cuda-12.9 // RUN: dpct --format-range=none -in-root %S -out-root %T %S/NVTX-linux.cu --cuda-include-path="%cuda-path/include" -- -std=c++14 -x cuda --cuda-host-only // RUN: FileCheck --input-file %T/NVTX-linux.dp.cpp --match-full-lines %s diff --git a/clang/test/dpct/allocator_syclcompat.cu b/clang/test/dpct/allocator_syclcompat.cu index 6420b5f3093d..48de18188e7c 100644 --- a/clang/test/dpct/allocator_syclcompat.cu +++ b/clang/test/dpct/allocator_syclcompat.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --use-syclcompat -out-root %T/allocator_syclcompat %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only // RUN: FileCheck --match-full-lines --input-file %T/allocator_syclcompat/allocator_syclcompat.dp.cpp %s // RUN: %if build_lit %{icpx -c -fsycl -DNO_BUILD_TEST %T/allocator_syclcompat/allocator_syclcompat.dp.cpp -o %T/allocator_syclcompat/allocator_syclcompat.dp.o %} diff --git a/clang/test/dpct/comments.cu b/clang/test/dpct/comments.cu index 5300fcfc316e..3e9425902e16 100644 --- a/clang/test/dpct/comments.cu +++ b/clang/test/dpct/comments.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none -out-root %T/comments %s --cuda-include-path="%cuda-path/include" --comments -- -std=c++14 -x cuda --cuda-host-only // RUN: FileCheck %s --match-full-lines --input-file %T/comments/comments.dp.cpp // RUN: %if build_lit %{icpx -c -fsycl %T/comments/comments.dp.cpp -o %T/comments/comments.dp.o %} diff --git a/clang/test/dpct/cooperative_groups_unsupport.cu b/clang/test/dpct/cooperative_groups_unsupport.cu index 949bc6697c66..20699eb6e0cc 100644 --- a/clang/test/dpct/cooperative_groups_unsupport.cu +++ b/clang/test/dpct/cooperative_groups_unsupport.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none -out-root %T/cooperative_groups_unsupport %s --cuda-include-path="%cuda-path/include" --use-experimental-features=logical-group --extra-arg="-std=c++14" // RUN: FileCheck %s --match-full-lines --input-file %T/cooperative_groups_unsupport/cooperative_groups_unsupport.dp.cpp // RUN: %if build_lit %{icpx -c -fsycl %T/cooperative_groups_unsupport/cooperative_groups_unsupport.dp.cpp -o %T/cooperative_groups_unsupport/cooperative_groups_unsupport.dp.o %} diff --git a/clang/test/dpct/cub/devicelevel/devicesegmentedreduce.cu b/clang/test/dpct/cub/devicelevel/devicesegmentedreduce.cu index f4be4753dae6..fe251999fbd6 100644 --- a/clang/test/dpct/cub/devicelevel/devicesegmentedreduce.cu +++ b/clang/test/dpct/cub/devicelevel/devicesegmentedreduce.cu @@ -86,9 +86,9 @@ struct UserMin //CHECK: for(int i = 0; i < num_segments + 1; i++) { //CHECK: device_offsets[i] = i * 10; //CHECK: } +//CHECK-DPCT1026: DPCT1026:{{[0-9]+}}: The call to cub::DeviceSegmentedReduce::Reduce was removed because this functionality is redundant in SYCL. //CHECK-DPCT1092: DPCT1092:{{[0-9]+}}: Consider replacing work-group size 128 with different value for specific hardware for better performance. //CHECK-DPCT1091: DPCT1091:{{[0-9]+}}: The function dpct::segmented_reduce only supports DPC++ native binary operation. Replace "dpct_placeholder" with a DPC++ native binary operation. -//CHECK-DPCT1026: DPCT1026:{{[0-9]+}}: The call to cub::DeviceSegmentedReduce::Reduce was removed because this functionality is redundant in SYCL. //CHECK: dpct::device::segmented_reduce<128>(q_ct1, device_in, device_out, num_segments, device_offsets, device_offsets + 1, dpct_placeholder, initial_value); //CHECK: dev_ct1.queues_wait_and_throw(); //CHECK: if(!verify_data(device_out, expect, num_segments)) { diff --git a/clang/test/dpct/cudaPointerAttributes.cu b/clang/test/dpct/cudaPointerAttributes.cu index 2c95d1987d25..9a4e61b8e8f2 100644 --- a/clang/test/dpct/cudaPointerAttributes.cu +++ b/clang/test/dpct/cudaPointerAttributes.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3 , v12.4, v12.5, v12.6, v12.8 -// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 +// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3 , v12.4, v12.5, v12.6, v12.8, v12.9 +// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 // RUN: dpct --format-range=none -out-root %T/Out/cudaPointerAttributes %s --cuda-include-path="%cuda-path/include" // RUN: FileCheck %s --match-full-lines --input-file %T/Out/cudaPointerAttributes/cudaPointerAttributes.dp.cpp // RUN: %if build_lit %{icpx -c -fsycl %T/Out/cudaPointerAttributes/cudaPointerAttributes.dp.cpp -o %T/Out/cudaPointerAttributes/cudaPointerAttributes.dp.o %} diff --git a/clang/test/dpct/cuda_pinned_allocator.cu b/clang/test/dpct/cuda_pinned_allocator.cu index 6bf5a2ff457b..28f35d9d0ea3 100644 --- a/clang/test/dpct/cuda_pinned_allocator.cu +++ b/clang/test/dpct/cuda_pinned_allocator.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/cuda_pinned_alloc %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only // RUN: FileCheck --match-full-lines --input-file %T/cuda_pinned_alloc/cuda_pinned_allocator.dp.cpp %s // RUN: %if build_lit %{icpx -c -fsycl %T/cuda_pinned_alloc/cuda_pinned_allocator.dp.cpp -o %T/cuda_pinned_alloc/cuda_pinned_allocator.dp.o %} diff --git a/clang/test/dpct/cusparse-10.cu b/clang/test/dpct/cusparse-10.cu index f0152eaedc0a..c3060e4c2956 100644 --- a/clang/test/dpct/cusparse-10.cu +++ b/clang/test/dpct/cusparse-10.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --out-root %T/cusparse-10 %s --cuda-include-path="%cuda-path/include" // RUN: FileCheck --input-file %T/cusparse-10/cusparse-10.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/cusparse-10/cusparse-10.dp.cpp -o %T/cusparse-10/cusparse-10.dp.o %} diff --git a/clang/test/dpct/cusparse-usm.cu b/clang/test/dpct/cusparse-usm.cu index 4246d28f8442..3ca5ffade2ff 100644 --- a/clang/test/dpct/cusparse-usm.cu +++ b/clang/test/dpct/cusparse-usm.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 -// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 +// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 +// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 // RUN: dpct --format-range=none --out-root %T/cusparse-usm %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only // RUN: FileCheck --input-file %T/cusparse-usm/cusparse-usm.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/cusparse-usm/cusparse-usm.dp.cpp -o %T/cusparse-usm/cusparse-usm.dp.o %} diff --git a/clang/test/dpct/cusparse.cu b/clang/test/dpct/cusparse.cu index 5f20946d7f03..ebf9a2f83a50 100644 --- a/clang/test/dpct/cusparse.cu +++ b/clang/test/dpct/cusparse.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 -// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 +// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 +// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 // RUN: dpct --format-range=none --usm-level=none --out-root %T/cusparse %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only --std=c++14 // RUN: FileCheck --input-file %T/cusparse/cusparse.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl -DNO_BUILD_TEST %T/cusparse/cusparse.dp.cpp -o %T/cusparse/cusparse.dp.o %} diff --git a/clang/test/dpct/cusparse_9_to_11.cu b/clang/test/dpct/cusparse_9_to_11.cu index 01fd4e169748..21e75b5b1632 100644 --- a/clang/test/dpct/cusparse_9_to_11.cu +++ b/clang/test/dpct/cusparse_9_to_11.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 -// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 +// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 +// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 // RUN: dpct --format-range=none --usm-level=none --out-root %T/cusparse_9_to_11 %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only --std=c++14 // RUN: FileCheck --input-file %T/cusparse_9_to_11/cusparse_9_to_11.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/cusparse_9_to_11/cusparse_9_to_11.dp.cpp -o %T/cusparse_9_to_11/cusparse_9_to_11.dp.o %} diff --git a/clang/test/dpct/dnn/convolution_v7.cu b/clang/test/dpct/dnn/convolution_v7.cu index 2f3032a70d30..972ead6dbe1c 100644 --- a/clang/test/dpct/dnn/convolution_v7.cu +++ b/clang/test/dpct/dnn/convolution_v7.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct -in-root %S -out-root %T/convolution_v7 %S/convolution_v7.cu --cuda-include-path="%cuda-path/include" -- -std=c++14 -x cuda --cuda-host-only // RUN: FileCheck --input-file %T/convolution_v7/convolution_v7.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/convolution_v7/convolution_v7.dp.cpp -o %T/convolution_v7/convolution_v7.dp.o %} diff --git a/clang/test/dpct/macro_test-cuda12.0-not-support.cu b/clang/test/dpct/macro_test-cuda12.0-not-support.cu index 2f3ca2755669..b55b88f92cc1 100644 --- a/clang/test/dpct/macro_test-cuda12.0-not-support.cu +++ b/clang/test/dpct/macro_test-cuda12.0-not-support.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3 , cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3 , cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: cat %s > %T/macro_test-cuda12.0-not-support.cu // RUN: cd %T // RUN: rm -rf %T/macro_test-cuda12.0-not-support_output diff --git a/clang/test/dpct/major_minor_after_11_2.cu b/clang/test/dpct/major_minor_after_11_2.cu index 19903f0d99cf..46fda6ee293e 100644 --- a/clang/test/dpct/major_minor_after_11_2.cu +++ b/clang/test/dpct/major_minor_after_11_2.cu @@ -5,7 +5,7 @@ // RUN: %if build_lit %{icpx -c -fsycl %T/major_minor_after_11_2/major_minor_after_11_2.dp.cpp -o %T/major_minor_after_11_2/major_minor_after_11_2.dp.o %} // CHECK: #define DPCT_COMPAT_RT_MAJOR_VERSION {{11|12}} -// CHECK-NEXT: #define DPCT_COMPAT_RT_MINOR_VERSION {{[0-8]}} +// CHECK-NEXT: #define DPCT_COMPAT_RT_MINOR_VERSION {{[0-9]}} // CHECK-NEXT: #include // CHECK-NEXT: #include diff --git a/clang/test/dpct/major_minor_before_11_2.cu b/clang/test/dpct/major_minor_before_11_2.cu index a4f737cb9eb4..e3b69139079e 100644 --- a/clang/test/dpct/major_minor_before_11_2.cu +++ b/clang/test/dpct/major_minor_before_11_2.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --out-root %T/major_minor_before_11_2 %s --cuda-include-path="%cuda-path/include" // RUN: FileCheck --input-file %T/major_minor_before_11_2/major_minor_before_11_2.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/major_minor_before_11_2/major_minor_before_11_2.dp.cpp -o %T/major_minor_before_11_2/major_minor_before_11_2.dp.o %} diff --git a/clang/test/dpct/math/cuda-math-intrinsics-cuda12.0-not-support.cu b/clang/test/dpct/math/cuda-math-intrinsics-cuda12.0-not-support.cu index c9501863ad7a..e6d72f5d1b53 100644 --- a/clang/test/dpct/math/cuda-math-intrinsics-cuda12.0-not-support.cu +++ b/clang/test/dpct/math/cuda-math-intrinsics-cuda12.0-not-support.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none -out-root %T/math/cuda-math-intrinsics-cuda12.0-not-support %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only --std=c++14 // RUN: FileCheck --input-file %T/math/cuda-math-intrinsics-cuda12.0-not-support/cuda-math-intrinsics-cuda12.0-not-support.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/math/cuda-math-intrinsics-cuda12.0-not-support/cuda-math-intrinsics-cuda12.0-not-support.dp.cpp -o %T/math/cuda-math-intrinsics-cuda12.0-not-support/cuda-math-intrinsics-cuda12.0-not-support.dp.o %} diff --git a/clang/test/dpct/nestedqueue.cu b/clang/test/dpct/nestedqueue.cu index f1b27fa894f8..2238e9ec7c63 100644 --- a/clang/test/dpct/nestedqueue.cu +++ b/clang/test/dpct/nestedqueue.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-11.9, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v11.9, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-11.9, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v11.9, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/nestedqueue %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only // RUN: FileCheck --input-file %T/nestedqueue/nestedqueue.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/nestedqueue/nestedqueue.dp.cpp -o %T/nestedqueue/nestedqueue.dp.o %} diff --git a/clang/test/dpct/nvSHMEM_all_apis.cu b/clang/test/dpct/nvSHMEM_all_apis.cu index 8ba1e2267342..5e4566038960 100644 --- a/clang/test/dpct/nvSHMEM_all_apis.cu +++ b/clang/test/dpct/nvSHMEM_all_apis.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none -out-root %T/nvSHMEM %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only --std=c++14 // RUN: FileCheck --input-file %T/nvSHMEM/nvSHMEM_all_apis.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -DNO_BUILD_TEST -fsycl %T/nvSHMEM_all_apis/nvSHMEM_all_apis.dp.cpp -o %T/nvSHMEM_all_apis/nvSHMEM_all_apis.dp.o %} diff --git a/clang/test/dpct/nvtx.cu b/clang/test/dpct/nvtx.cu index 8746e4682510..d9f68bae9386 100644 --- a/clang/test/dpct/nvtx.cu +++ b/clang/test/dpct/nvtx.cu @@ -1,4 +1,5 @@ // UNSUPPORTED: system-windows +// UNSUPPORTED: cuda-12.9 // RUN: dpct --format-range=none --out-root %T/nvtx %s --cuda-include-path="%cuda-path/include" // RUN: FileCheck %s --match-full-lines --input-file %T/nvtx/nvtx.dp.cpp // RUN: %if build_lit %{icpx -c -fsycl %T/nvtx/nvtx.dp.cpp -o %T/nvtx/nvtx.dp.o %} diff --git a/clang/test/dpct/query_api_mapping/Runtime/test-before12.cu b/clang/test/dpct/query_api_mapping/Runtime/test-before12.cu index a1fc856e3a07..c6daef017739 100644 --- a/clang/test/dpct/query_api_mapping/Runtime/test-before12.cu +++ b/clang/test/dpct/query_api_mapping/Runtime/test-before12.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 /// Texture Reference Management [DEPRECATED] diff --git a/clang/test/dpct/query_api_mapping/cuDNN/dnn_part4.cu b/clang/test/dpct/query_api_mapping/cuDNN/dnn_part4.cu index 2969df51f609..ca0837cfcd70 100644 --- a/clang/test/dpct/query_api_mapping/cuDNN/dnn_part4.cu +++ b/clang/test/dpct/query_api_mapping/cuDNN/dnn_part4.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 -// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 +// UNSUPPORTED: v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 +// UNSUPPORTED: cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 // RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cudnnGetConvolutionBackwardDataAlgorithm | FileCheck %s -check-prefix=cudnnGetConvolutionBackwardDataAlgorithm // cudnnGetConvolutionBackwardDataAlgorithm: CUDA API: diff --git a/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_110.cu b/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_110.cu index d756a2ff3be1..2cd75f2317d5 100644 --- a/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_110.cu +++ b/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_110.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cusparseCreateSolveAnalysisInfo | FileCheck %s -check-prefix=cusparseCreateSolveAnalysisInfo // cusparseCreateSolveAnalysisInfo: CUDA API: diff --git a/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_120.cu b/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_120.cu index dbc762c5d28f..e234dd0fe80c 100644 --- a/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_120.cu +++ b/clang/test/dpct/query_api_mapping/cuSPARSE/lit_cuSPARSE_less_than_120.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cusparseCreateCsrsv2Info | FileCheck %s -check-prefix=cusparseCreateCsrsv2Info // cusparseCreateCsrsv2Info: CUDA API: diff --git a/clang/test/dpct/template-kernel-call-cuda12.0-not-support.cu b/clang/test/dpct/template-kernel-call-cuda12.0-not-support.cu index a9a9f89b09c0..2ef83d15ec26 100644 --- a/clang/test/dpct/template-kernel-call-cuda12.0-not-support.cu +++ b/clang/test/dpct/template-kernel-call-cuda12.0-not-support.cu @@ -1,7 +1,7 @@ // FIXME // UNSUPPORTED: system-windows -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/template-kernel-call-cuda12.0-not-support %s --cuda-include-path="%cuda-path/include" --sycl-named-lambda -- -x cuda --cuda-host-only -std=c++11 // RUN: FileCheck --input-file %T/template-kernel-call-cuda12.0-not-support/template-kernel-call-cuda12.0-not-support.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/template-kernel-call-cuda12.0-not-support/template-kernel-call-cuda12.0-not-support.dp.cpp -o %T/template-kernel-call-cuda12.0-not-support/template-kernel-call-cuda12.0-not-support.dp.o %} diff --git a/clang/test/dpct/texture.cu b/clang/test/dpct/texture.cu index 6db1697b5987..c7f0b85a9c38 100644 --- a/clang/test/dpct/texture.cu +++ b/clang/test/dpct/texture.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/texture %s --cuda-include-path="%cuda-path/include" --sycl-named-lambda -- -x cuda --cuda-host-only -std=c++14 // RUN: FileCheck --input-file %T/texture/texture.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/texture/texture.dp.cpp -o %T/texture/texture.dp.o %} diff --git a/clang/test/dpct/texture/texture_reference_bindless_image.cu b/clang/test/dpct/texture/texture_reference_bindless_image.cu index a62994a18f14..7ea9776d8f8a 100644 --- a/clang/test/dpct/texture/texture_reference_bindless_image.cu +++ b/clang/test/dpct/texture/texture_reference_bindless_image.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --use-experimental-features=bindless_images -out-root %T/texture/texture_reference_bindless_image %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only -std=c++14 // RUN: FileCheck --input-file %T/texture/texture_reference_bindless_image/texture_reference_bindless_image.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/texture/texture_reference_bindless_image/texture_reference_bindless_image.dp.cpp -o %T/texture/texture_reference_bindless_image/texture_reference_bindless_image.dp.o %} diff --git a/clang/test/dpct/texture_layered.cu b/clang/test/dpct/texture_layered.cu index ef32e4b54395..40754b465755 100644 --- a/clang/test/dpct/texture_layered.cu +++ b/clang/test/dpct/texture_layered.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/texture_layered %s --cuda-include-path="%cuda-path/include" --sycl-named-lambda -- -x cuda --cuda-host-only -std=c++14 // RUN: FileCheck --input-file %T/texture_layered/texture_layered.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/texture_layered/texture_layered.dp.cpp -o %T/texture_layered/texture_layered.dp.o %} diff --git a/clang/test/dpct/textureformat.cu b/clang/test/dpct/textureformat.cu index 779a107549e7..a99094904625 100644 --- a/clang/test/dpct/textureformat.cu +++ b/clang/test/dpct/textureformat.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-12.0, cuda-12.1, cuda-12.2, cuda-12.3, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v12.0, v12.1, v12.2, v12.3, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct --format-range=none --usm-level=none -out-root %T/textureformat %s --cuda-include-path="%cuda-path/include" --sycl-named-lambda -- -x cuda --cuda-host-only -std=c++14 // RUN: FileCheck --input-file %T/textureformat/textureformat.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/textureformat/textureformat.dp.cpp -o %T/textureformat/textureformat.dp.o %} diff --git a/clang/test/dpct/thrust_detail_namespace_drop_12_6.cu b/clang/test/dpct/thrust_detail_namespace_drop_12_6.cu index 4d3e90e03a20..74a6782ec926 100644 --- a/clang/test/dpct/thrust_detail_namespace_drop_12_6.cu +++ b/clang/test/dpct/thrust_detail_namespace_drop_12_6.cu @@ -1,6 +1,6 @@ // UNSUPPORTED: system-windows -// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v11.0, v11.1, v11.2, v11.3, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v11.0, v11.1, v11.2, v11.3, v12.6, v12.8, v12.9 // RUN: dpct --sycl-named-lambda --format-range=none --usm-level=none -out-root %T/thrust_detail_namespace_drop_12_6 -in-root=%S %s --cuda-include-path="%cuda-path/include" -- -x cuda --cuda-host-only -std=c++17 -fsized-deallocation // RUN: FileCheck --input-file %T/thrust_detail_namespace_drop_12_6/thrust_detail_namespace_drop_12_6.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl -DNO_BUILD_TEST %T/thrust_detail_namespace_drop_12_6/thrust_detail_namespace_drop_12_6.dp.cpp -o %T/thrust_detail_namespace_drop_12_6/thrust_detail_namespace_drop_12_6.dp.o %} diff --git a/clang/test/dpct/thrust_template_specific.cu b/clang/test/dpct/thrust_template_specific.cu index 524d6b0c8a4b..0047403fb27e 100644 --- a/clang/test/dpct/thrust_template_specific.cu +++ b/clang/test/dpct/thrust_template_specific.cu @@ -1,5 +1,5 @@ -// UNSUPPORTED: cuda-8.0, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8 -// UNSUPPORTED: v8.0, v12.4, v12.5, v12.6, v12.8 +// UNSUPPORTED: cuda-8.0, cuda-12.4, cuda-12.5, cuda-12.6, cuda-12.8, cuda-12.9 +// UNSUPPORTED: v8.0, v12.4, v12.5, v12.6, v12.8, v12.9 // RUN: dpct -out-root %T/thrust_template_specific %s --cuda-include-path="%cuda-path/include" -- -ferror-limit=50 // RUN: FileCheck --input-file %T/thrust_template_specific/thrust_template_specific.dp.cpp --match-full-lines %s // RUN: %if build_lit %{icpx -c -fsycl %T/thrust_template_specific/thrust_template_specific.dp.cpp -o %T/thrust_template_specific/thrust_template_specific.dp.o %} diff --git a/docs/_include_files/variables.txt b/docs/_include_files/variables.txt index 6b6d7bbde2a1..c242e4b2ea50 100644 --- a/docs/_include_files/variables.txt +++ b/docs/_include_files/variables.txt @@ -6,7 +6,7 @@ .. |dpcpp_long| replace:: Data Parallel C++ (DPC++) .. _dpcpp_long: https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-c-plus-plus.html -.. |cuda_versions| replace:: 8.0, 9.x, 10.x, 11.x, 12.0-12.8 +.. |cuda_versions| replace:: 8.0, 9.x, 10.x, 11.x, 12.0-12.9 .. |oneDPL_long| replace:: IntelĀ® oneAPI DPC++ Library (oneDPL) .. _oneDPL_long: https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html