
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.
23 lines
723 B
CMake
23 lines
723 B
CMake
cmake_minimum_required(VERSION 3.18)
|
|
project(GPUDebugFlag CUDA)
|
|
|
|
set(CMAKE_CUDA_STANDARD 11)
|
|
|
|
# Goal for this example:
|
|
# Verify that enabling device debug works.
|
|
string(APPEND CMAKE_CUDA_FLAGS " -G")
|
|
|
|
add_executable(CudaOnlyGPUDebugFlag main.cu)
|
|
|
|
#CUDA's __CUDACC_DEBUG__ define was added in NVCC 9.0
|
|
#so if we are below 9.0.0 we will manually add the define so that the test
|
|
#passes
|
|
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0.0)
|
|
target_compile_definitions(CudaOnlyGPUDebugFlag PRIVATE "__CUDACC_DEBUG__")
|
|
endif()
|
|
|
|
if(APPLE)
|
|
# Help the static cuda runtime find the driver (libcuda.dyllib) at runtime.
|
|
set_property(TARGET CudaOnlyGPUDebugFlag PROPERTY BUILD_RPATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
|
|
endif()
|