From af199b4658963cc9cb7b91ba09b3f6f8f3c8017c Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Thu, 25 Feb 2016 09:06:18 -0800 Subject: Made the CUDA architecture level a build setting. --- CMakeLists.txt | 2 ++ unsupported/test/CMakeLists.txt | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eaee5d5e2..1c979747c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -336,6 +336,8 @@ endif() option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." OFF) +set(EIGEN_CUDA_COMPUTE_ARCH 30 CACHE STRING "The CUDA compute architecture level to target when compiling CUDA code") + include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) # Backward compatibility support for EIGEN_INCLUDE_INSTALL_DIR diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt index 2c686177b..3be43f47f 100644 --- a/unsupported/test/CMakeLists.txt +++ b/unsupported/test/CMakeLists.txt @@ -162,7 +162,7 @@ if(CUDA_FOUND) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") set(CUDA_NVCC_FLAGS "-ccbin /usr/bin/clang" CACHE STRING "nvcc flags" FORCE) endif() - set(CUDA_NVCC_FLAGS "-std=c++11 --relaxed-constexpr -arch compute_30 -Xcudafe \"--display_error_number\"") + set(CUDA_NVCC_FLAGS "-std=c++11 --relaxed-constexpr -arch compute_${EIGEN_CUDA_COMPUTE_ARCH} -Xcudafe \"--display_error_number\"") cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include") set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu") @@ -173,9 +173,10 @@ if(CUDA_FOUND) ei_add_test(cxx11_tensor_random_cuda) ei_add_test(cxx11_tensor_argmax_cuda) - set(CUDA_NVCC_FLAGS "-std=c++11 --relaxed-constexpr -arch compute_53 -Xcudafe \"--display_error_number\"") - ei_add_test(cxx11_tensor_of_float16_cuda) - + # Half floats are only supported starting with arch 5.3 + if (${EIGEN_CUDA_COMPUTE_ARCH} GREATER 52) + ei_add_test(cxx11_tensor_of_float16_cuda) + endif() unset(EIGEN_ADD_TEST_FILENAME_EXTENSION) endif() -- cgit v1.2.3