aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-25 09:06:18 -0800
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-25 09:06:18 -0800
commitaf199b4658963cc9cb7b91ba09b3f6f8f3c8017c (patch)
tree1ec5423b4e39ebeb7f2d657481c32f991b966ca6
parentc36c09169e1545e287293f3f145fa5a25b47b84a (diff)
Made the CUDA architecture level a build setting.
-rw-r--r--CMakeLists.txt2
-rw-r--r--unsupported/test/CMakeLists.txt9
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()