Tests: Don't unnecessarily set CUDA_ARCHITECTURES
Architecture 30 was removed with CUDA 11, so most of the CUDA tests fail with it. Remove setting the architecture and bump the minimum version to 3.18, so CMP0104 takes effect and we can rely on the default architecture, which is guaranteed to be compilable. Use of __ldg() in ProperLinkFlags was removed as it only affects performance and is available only on sm_35 and above. Testing the functionality of CUDA_ARCHITECTURES is already covered by CudaOnly.Architecture and CudaOnly.CompileFlags.
This commit is contained in:
parent
39a5c0c82c
commit
4fe9f534f5
@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(CXXStandardSetTwice CXX CUDA)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(CXXStandardSetTwice main.cu)
|
||||
target_compile_features(CXXStandardSetTwice PUBLIC cxx_std_11)
|
||||
|
@ -1,6 +1,5 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (Complex CXX CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(Complex CXX CUDA)
|
||||
#Goal for this example:
|
||||
|
||||
#build a cpp dynamic library base
|
||||
@ -14,8 +13,6 @@ project (Complex CXX CUDA)
|
||||
#this tests that we can properly handle linking cuda and cpp together
|
||||
#and also building cpp targets that need cuda implicit libraries
|
||||
|
||||
#verify that we can pass explicit cuda arch flags
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CUDA_STANDARD_REQUIRED TRUE)
|
||||
|
@ -1,6 +1,5 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (ConsumeCompileFeatures CXX CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(ConsumeCompileFeatures CXX CUDA)
|
||||
#Goal for this example:
|
||||
|
||||
#build a c++11 library that express a c++11 public compile feature
|
||||
|
@ -1,9 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(MixedStandardLevels1 CXX CUDA)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(MixedStandardLevels1 main.cu lib.cpp)
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(MixedStandardLevels2 CXX CUDA)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17) #this can decay
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(MixedStandardLevels2 main.cu lib.cpp)
|
||||
target_compile_features(MixedStandardLevels2 PUBLIC cuda_std_11)
|
||||
|
@ -1,8 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(MixedStandardLevels3 CXX CUDA)
|
||||
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(MixedStandardLevels3 main.cu lib.cpp)
|
||||
target_compile_features(MixedStandardLevels3 PUBLIC cuda_std_03 cxx_std_14)
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(MixedStandardLevels4 CXX CUDA)
|
||||
|
||||
set(CMAKE_CUDA_STANDARD 03)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(MixedStandardLevels4 main.cu lib.cpp)
|
||||
target_compile_features(MixedStandardLevels4 PUBLIC cxx_std_14)
|
||||
|
@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(MixedStandardLevels5 CXX CUDA)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 98)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(MixedStandardLevels5 main.cu lib.cpp)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project (ObjectLibrary CUDA CXX)
|
||||
#Goal for this example:
|
||||
#
|
||||
|
@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(ProperDeviceLibraries CXX CUDA)
|
||||
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 35)
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads)
|
||||
|
@ -1,6 +1,5 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (ProperLinkFlags CUDA CXX)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(ProperLinkFlags CUDA CXX)
|
||||
|
||||
#Goal for this example:
|
||||
#Verify that when we have CXX and CUDA enabled and we link an executable that
|
||||
@ -19,7 +18,6 @@ set(CMAKE_CXX_FLAGS "-Wall")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 35)
|
||||
add_executable(ProperLinkFlags file1.cu main.cxx)
|
||||
|
||||
set_target_properties( ProperLinkFlags
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
result_type __device__ file1_func(int x)
|
||||
{
|
||||
__ldg(&x);
|
||||
result_type r;
|
||||
r.input = x;
|
||||
r.sum = x * x;
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(SharedRuntimePlusToolkit CXX)
|
||||
|
||||
#Goal for this example:
|
||||
|
@ -1,8 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(WithC CUDA C)
|
||||
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_executable(CudaWithC main.c cuda.cu)
|
||||
|
||||
if(APPLE)
|
||||
|
@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (CircularLinkLine CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(CircularLinkLine CUDA)
|
||||
|
||||
#Goal for this example:
|
||||
# Verify that we de-duplicate the device link line
|
||||
@ -7,7 +7,6 @@ project (CircularLinkLine CUDA)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
add_library(CUDACircularDeviceLinking1 STATIC file1.cu)
|
||||
add_library(CUDACircularDeviceLinking2 STATIC file2.cu)
|
||||
|
@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
project (DontResolveDeviceSymbols CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(DontResolveDeviceSymbols CUDA)
|
||||
|
||||
# Find nm and dumpbin
|
||||
if(CMAKE_NM)
|
||||
@ -26,7 +26,6 @@ endif()
|
||||
# Verify that we can't use those device symbols from anything
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30 50)
|
||||
set(CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS OFF)
|
||||
|
||||
add_library(CUDANoDeviceResolve SHARED file1.cu)
|
||||
|
@ -1,9 +1,7 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (GPUDebugFlag CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(GPUDebugFlag CUDA)
|
||||
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
# Goal for this example:
|
||||
# Verify that enabling device debug works.
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project (ResolveDeviceSymbols CUDA)
|
||||
|
||||
# Find nm and dumpbin
|
||||
@ -21,8 +21,6 @@ endif()
|
||||
# confirming that the first static library is on the device link line
|
||||
# 3. Verify that we can't use those device symbols from anything that links
|
||||
# to the static library
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30 50)
|
||||
|
||||
add_library(CUDAResolveDeviceDepsA STATIC file1.cu)
|
||||
add_library(CUDAResolveDeviceDepsB STATIC file2.cu)
|
||||
target_compile_features(CUDAResolveDeviceDepsA PUBLIC cuda_std_11)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project (RuntimeControls CUDA)
|
||||
|
||||
# Find nm and dumpbin
|
||||
@ -16,7 +16,6 @@ else()
|
||||
endif()
|
||||
|
||||
set(CMAKE_CUDA_STANDARD 11)
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
set(CMAKE_CUDA_RUNTIME_LIBRARY static)
|
||||
|
||||
if(NOT "x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
|
||||
|
@ -1,6 +1,5 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (SeparateCompilation CUDA)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(SeparateCompilation CUDA)
|
||||
|
||||
#Goal for this example:
|
||||
#Build a static library that defines multiple methods and kernels that
|
||||
@ -9,7 +8,6 @@ project (SeparateCompilation CUDA)
|
||||
#and executables.
|
||||
#We complicate the matter by also testing that multiple static libraries
|
||||
#all containing cuda separable compilation code links properly
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30 35 50 52)
|
||||
set(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
|
||||
add_library(CUDASeparateLibA STATIC file1.cu file2.cu file3.cu)
|
||||
target_compile_features(CUDASeparateLibA PRIVATE cuda_std_11)
|
||||
|
@ -1,8 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(CudaOnlyStandard98 CUDA)
|
||||
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
|
||||
# Support setting CUDA Standard to 98 which internally gets transformed to
|
||||
# CUDA03
|
||||
set(CMAKE_CUDA_STANDARD 98)
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(StaticRuntimePlusToolkit CUDA)
|
||||
|
||||
#Goal for this example:
|
||||
|
@ -1,9 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(WithDefs CUDA)
|
||||
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
project (WithDefs CUDA)
|
||||
|
||||
#verify that we can pass explicit cuda arch flags
|
||||
set(CMAKE_CUDA_ARCHITECTURES 30)
|
||||
set(release_compile_defs DEFREL)
|
||||
|
||||
#Goal for this example:
|
||||
|
Loading…
Reference in New Issue
Block a user