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:
Raul Tambre 2020-09-20 17:11:33 +03:00
parent 39a5c0c82c
commit 4fe9f534f5
23 changed files with 30 additions and 61 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.7)
cmake_minimum_required(VERSION 3.18)
project (ObjectLibrary CUDA CXX)
#Goal for this example:
#

View File

@ -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)

View File

@ -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

View File

@ -3,7 +3,6 @@
result_type __device__ file1_func(int x)
{
__ldg(&x);
result_type r;
r.input = x;
r.sum = x * x;

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15)
cmake_minimum_required(VERSION 3.18)
project(SharedRuntimePlusToolkit CXX)
#Goal for this example:

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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")

View File

@ -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)

View File

@ -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)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.15)
cmake_minimum_required(VERSION 3.18)
project(StaticRuntimePlusToolkit CUDA)
#Goal for this example:

View File

@ -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: