summaryrefslogtreecommitdiff
path: root/Tests/Cuda/CMakeLists.txt
diff options
context:
space:
mode:
authorRaul Tambre <raul@tambre.ee>2020-09-05 19:40:02 +0300
committerBrad King <brad.king@kitware.com>2020-09-24 15:19:54 -0400
commitc63fe018353cf6afb30980c4cac7493be7cd0a82 (patch)
tree68d2daf0cd8ab91a9feaa49392607c6cfecd2ac4 /Tests/Cuda/CMakeLists.txt
parentc98ec731f90eb0180c89108b7d2e42263b66d1ed (diff)
downloadcmake-c63fe018353cf6afb30980c4cac7493be7cd0a82.tar.gz
CUDA: Clang separable compilation
For NVCC the compiler takes care of device linking when passed the "-dlink" flag. Clang doesn't support such magic and requires the buildsystem to do the work that NVCC does behind the scenes. The implementation is based on Bazel's device linking documentation: https://github.com/tensorflow/tensorflow/blob/7cabcdf073abad8c46e9dda62bb8fa4682d2061e/third_party/nccl/build_defs.bzl.tpl#L259 Closes: #20726
Diffstat (limited to 'Tests/Cuda/CMakeLists.txt')
-rw-r--r--Tests/Cuda/CMakeLists.txt7
1 files changed, 3 insertions, 4 deletions
diff --git a/Tests/Cuda/CMakeLists.txt b/Tests/Cuda/CMakeLists.txt
index 35ceb333cd..be5ccac509 100644
--- a/Tests/Cuda/CMakeLists.txt
+++ b/Tests/Cuda/CMakeLists.txt
@@ -17,13 +17,12 @@ add_cuda_test_macro(Cuda.SeparableCompCXXOnly SeparableCompCXXOnly)
add_cuda_test_macro(Cuda.Toolkit Toolkit)
add_cuda_test_macro(Cuda.IncludePathNoToolkit IncludePathNoToolkit)
add_cuda_test_macro(Cuda.SharedRuntimePlusToolkit SharedRuntimePlusToolkit)
+add_cuda_test_macro(Cuda.Complex CudaComplex)
+add_cuda_test_macro(Cuda.ProperLinkFlags ProperLinkFlags)
-# Separable compilation is currently only supported on NVCC. Disable tests
-# using it for other compilers.
if(CMake_TEST_CUDA AND NOT CMake_TEST_CUDA STREQUAL "Clang")
- add_cuda_test_macro(Cuda.Complex CudaComplex)
+ # Clang lacks __CUDACC_VER*__ defines.
add_cuda_test_macro(Cuda.ProperDeviceLibraries ProperDeviceLibraries)
- add_cuda_test_macro(Cuda.ProperLinkFlags ProperLinkFlags)
endif()
# The CUDA only ships the shared version of the toolkit libraries