mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-02 10:10:37 +08:00
Update CUDA testing infra to match master branch.
This commit is contained in:
parent
b0448fc6e0
commit
c7f6f8315f
@ -1,7 +1,7 @@
|
|||||||
project(Eigen3)
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.5)
|
cmake_minimum_required(VERSION 2.8.5)
|
||||||
|
|
||||||
|
project(Eigen3)
|
||||||
|
|
||||||
# guard against in-source builds
|
# guard against in-source builds
|
||||||
|
|
||||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||||
@ -470,7 +470,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
add_subdirectory(blas EXCLUDE_FROM_ALL)
|
add_subdirectory(blas EXCLUDE_FROM_ALL)
|
||||||
add_subdirectory(lapack EXCLUDE_FROM_ALL)
|
add_subdirectory(lapack EXCLUDE_FROM_ALL)
|
||||||
endif()
|
endif()
|
||||||
endif(CMAKE_CROSSCOMPILING)
|
endif(NOT CMAKE_CROSSCOMPILING)
|
||||||
|
|
||||||
# add SYCL
|
# add SYCL
|
||||||
option(EIGEN_TEST_SYCL "Add Sycl support." OFF)
|
option(EIGEN_TEST_SYCL "Add Sycl support." OFF)
|
||||||
|
@ -23,23 +23,21 @@ macro(ei_add_test_internal testname testname_with_suffix)
|
|||||||
set(is_gpu_test ON)
|
set(is_gpu_test ON)
|
||||||
if(EIGEN_TEST_CUDA_CLANG)
|
if(EIGEN_TEST_CUDA_CLANG)
|
||||||
set_source_files_properties(${filename} PROPERTIES LANGUAGE CXX)
|
set_source_files_properties(${filename} PROPERTIES LANGUAGE CXX)
|
||||||
|
|
||||||
if(CUDA_64_BIT_DEVICE_CODE AND (EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/lib64"))
|
if(CUDA_64_BIT_DEVICE_CODE AND (EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/lib64"))
|
||||||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||||
else()
|
else()
|
||||||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib")
|
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib")
|
||||||
endif()
|
endif()
|
||||||
if (${ARGC} GREATER 2)
|
|
||||||
add_executable(${targetname} ${filename})
|
add_executable(${targetname} ${filename})
|
||||||
else()
|
set(CUDA_CLANG_LINK_LIBRARIES "cudart_static" "cuda" "dl" "pthread")
|
||||||
add_executable(${targetname} ${filename} OPTIONS ${ARGV2})
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
set(CUDA_CLANG_LINK_LIBRARIES ${CUDA_CLANG_LINK_LIBRARIES} "rt")
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${targetname} "cudart_static" "cuda" "dl" "rt" "pthread")
|
target_link_libraries(${targetname} ${CUDA_CLANG_LINK_LIBRARIES})
|
||||||
else()
|
else()
|
||||||
if (${ARGC} GREATER 2)
|
cuda_add_executable(${targetname} ${filename})
|
||||||
cuda_add_executable(${targetname} ${filename} OPTIONS ${ARGV2})
|
|
||||||
else()
|
|
||||||
cuda_add_executable(${targetname} ${filename})
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
add_executable(${targetname} ${filename})
|
add_executable(${targetname} ${filename})
|
||||||
@ -48,7 +46,7 @@ macro(ei_add_test_internal testname testname_with_suffix)
|
|||||||
if (targetname MATCHES "^eigen2_")
|
if (targetname MATCHES "^eigen2_")
|
||||||
add_dependencies(eigen2_buildtests ${targetname})
|
add_dependencies(eigen2_buildtests ${targetname})
|
||||||
else()
|
else()
|
||||||
add_dependencies(buildtests ${targetname})
|
add_dependencies(buildtests ${targetname})
|
||||||
endif()
|
endif()
|
||||||
if (is_gpu_test)
|
if (is_gpu_test)
|
||||||
add_dependencies(buildtests_gpu ${targetname})
|
add_dependencies(buildtests_gpu ${targetname})
|
||||||
|
@ -21,7 +21,7 @@ workaround_9220(Fortran EIGEN_Fortran_COMPILER_WORKS)
|
|||||||
if(EIGEN_Fortran_COMPILER_WORKS)
|
if(EIGEN_Fortran_COMPILER_WORKS)
|
||||||
enable_language(Fortran OPTIONAL)
|
enable_language(Fortran OPTIONAL)
|
||||||
if(NOT CMAKE_Fortran_COMPILER)
|
if(NOT CMAKE_Fortran_COMPILER)
|
||||||
set(EIGEN_Fortran_COMPILER_WORKS OFF)
|
set(EIGEN_Fortran_COMPILER_WORKS OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -288,8 +288,8 @@ ei_add_test(fastmath " ${EIGEN_FASTMATH_FLAGS} ")
|
|||||||
# # ei_add_test(denseLM)
|
# # ei_add_test(denseLM)
|
||||||
|
|
||||||
if (NOT CMAKE_CROSSCOMPILING)
|
if (NOT CMAKE_CROSSCOMPILING)
|
||||||
if(QT4_FOUND)
|
if(QT4_FOUND)
|
||||||
ei_add_test(qtvector "" "${QT_QTCORE_LIBRARY}")
|
ei_add_test(qtvector "" "${QT_QTCORE_LIBRARY}")
|
||||||
endif(QT4_FOUND)
|
endif(QT4_FOUND)
|
||||||
|
|
||||||
if(UMFPACK_FOUND)
|
if(UMFPACK_FOUND)
|
||||||
@ -302,23 +302,23 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
|
|
||||||
if(CHOLMOD_FOUND)
|
if(CHOLMOD_FOUND)
|
||||||
ei_add_test(cholmod_support "" "${CHOLMOD_ALL_LIBS}")
|
ei_add_test(cholmod_support "" "${CHOLMOD_ALL_LIBS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PARDISO_FOUND)
|
if(PARDISO_FOUND)
|
||||||
ei_add_test(pardiso_support "" "${PARDISO_ALL_LIBS}")
|
ei_add_test(pardiso_support "" "${PARDISO_ALL_LIBS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PASTIX_FOUND AND (SCOTCH_FOUND OR METIS_FOUND))
|
if(PASTIX_FOUND AND (SCOTCH_FOUND OR METIS_FOUND))
|
||||||
ei_add_test(pastix_support "" "${PASTIX_ALL_LIBS}")
|
ei_add_test(pastix_support "" "${PASTIX_ALL_LIBS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SPQR_FOUND AND CHOLMOD_FOUND AND EIGEN_TEST_CXX11)
|
if(SPQR_FOUND AND CHOLMOD_FOUND AND EIGEN_TEST_CXX11)
|
||||||
ei_add_test(spqr_support "" "${SPQR_ALL_LIBS}")
|
ei_add_test(spqr_support "" "${SPQR_ALL_LIBS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(METIS_FOUND)
|
if(METIS_FOUND)
|
||||||
ei_add_test(metis_support "" "${METIS_LIBRARIES}")
|
ei_add_test(metis_support "" "${METIS_LIBRARIES}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
string(TOLOWER "${CMAKE_CXX_COMPILER}" cmake_cxx_compiler_tolower)
|
string(TOLOWER "${CMAKE_CXX_COMPILER}" cmake_cxx_compiler_tolower)
|
||||||
@ -359,51 +359,57 @@ if(EIGEN_TEST_CUDA_CLANG AND NOT CMAKE_CXX_COMPILER MATCHES "clang")
|
|||||||
message(WARNING "EIGEN_TEST_CUDA_CLANG is set, but CMAKE_CXX_COMPILER does not appear to be clang.")
|
message(WARNING "EIGEN_TEST_CUDA_CLANG is set, but CMAKE_CXX_COMPILER does not appear to be clang.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(EIGEN_TEST_CUDA)
|
if (EIGEN_TEST_CUDA)
|
||||||
|
|
||||||
find_package(CUDA 5.0)
|
find_package(CUDA 9.0)
|
||||||
if(CUDA_FOUND)
|
if(CUDA_FOUND)
|
||||||
|
# Make sure to compile without the -pedantic, -Wundef, -Wnon-virtual-dtor
|
||||||
if( (NOT EIGEN_TEST_CXX11) OR (CMAKE_VERSION VERSION_LESS 3.3))
|
# and -fno-check-new flags since they trigger thousands of compilation warnings
|
||||||
if (MSVC)
|
# in the CUDA runtime
|
||||||
string(APPEND EIGEN_CUDA_CXX11_FLAGS " /std:c++11")
|
string(REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
else()
|
string(REPLACE "-Wundef" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
string(APPEND EIGEN_CUDA_CXX11_FLAGS " -std=c++11")
|
string(REPLACE "-Wnon-virtual-dtor" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
endif(MSVC)
|
string(REPLACE "-fno-check-new" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
endif()
|
if( (NOT EIGEN_TEST_CXX11) OR (CMAKE_VERSION VERSION_LESS 3.3))
|
||||||
|
if (MSVC)
|
||||||
if(EIGEN_TEST_CUDA_CLANG)
|
string(APPEND EIGEN_CUDA_CXX11_FLAGS " /std:c++11")
|
||||||
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
|
else()
|
||||||
foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
string(APPEND EIGEN_CUDA_CXX11_FLAGS " -std=c++11")
|
||||||
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
|
endif(MSVC)
|
||||||
endforeach()
|
|
||||||
string(APPEND CMAKE_CXX_FLAGS " ${EIGEN_CUDA_CXX_FLAGS}")
|
|
||||||
else()
|
|
||||||
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
|
|
||||||
set(NVCC_ARCH_FLAGS)
|
|
||||||
# Define an -arch=sm_<arch>, otherwise if GPU does not exactly match one of
|
|
||||||
# those in the arch list for -gencode, the kernels will fail to run with
|
|
||||||
# cudaErrorNoKernelImageForDevice
|
|
||||||
# This can happen with newer cards (e.g. sm_75) and compiling with older
|
|
||||||
# versions of nvcc (e.g. 9.2) that do not support their specific arch.
|
|
||||||
list(LENGTH EIGEN_CUDA_COMPUTE_ARCH EIGEN_CUDA_COMPUTE_ARCH_SIZE)
|
|
||||||
if(EIGEN_CUDA_COMPUTE_ARCH_SIZE)
|
|
||||||
list(GET EIGEN_CUDA_COMPUTE_ARCH 0 EIGEN_CUDA_COMPUTE_DEFAULT)
|
|
||||||
set(NVCC_ARCH_FLAGS " -arch=sm_${EIGEN_CUDA_COMPUTE_DEFAULT}")
|
|
||||||
endif()
|
endif()
|
||||||
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
|
||||||
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
|
||||||
endforeach()
|
|
||||||
set(CUDA_NVCC_FLAGS "--expt-relaxed-constexpr -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS} ${EIGEN_CUDA_CXX_FLAGS}")
|
|
||||||
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
|
||||||
endif()
|
|
||||||
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
|
||||||
|
|
||||||
ei_add_test(cuda_basic)
|
if(EIGEN_TEST_CUDA_CLANG)
|
||||||
|
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
|
||||||
|
foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
||||||
|
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
|
||||||
|
endforeach()
|
||||||
|
string(APPEND CMAKE_CXX_FLAGS " ${EIGEN_CUDA_CXX_FLAGS}")
|
||||||
|
else()
|
||||||
|
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
|
||||||
|
set(NVCC_ARCH_FLAGS)
|
||||||
|
# Define an -arch=sm_<arch>, otherwise if GPU does not exactly match one of
|
||||||
|
# those in the arch list for -gencode, the kernels will fail to run with
|
||||||
|
# cudaErrorNoKernelImageForDevice
|
||||||
|
# This can happen with newer cards (e.g. sm_75) and compiling with older
|
||||||
|
# versions of nvcc (e.g. 9.2) that do not support their specific arch.
|
||||||
|
list(LENGTH EIGEN_CUDA_COMPUTE_ARCH EIGEN_CUDA_COMPUTE_ARCH_SIZE)
|
||||||
|
if(EIGEN_CUDA_COMPUTE_ARCH_SIZE)
|
||||||
|
list(GET EIGEN_CUDA_COMPUTE_ARCH 0 EIGEN_CUDA_COMPUTE_DEFAULT)
|
||||||
|
set(NVCC_ARCH_FLAGS " -arch=sm_${EIGEN_CUDA_COMPUTE_DEFAULT}")
|
||||||
|
endif()
|
||||||
|
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
||||||
|
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
||||||
|
endforeach()
|
||||||
|
set(CUDA_NVCC_FLAGS "--expt-relaxed-constexpr -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS} ${EIGEN_CUDA_CXX_FLAGS}")
|
||||||
|
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||||
|
endif()
|
||||||
|
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
||||||
|
|
||||||
unset(EIGEN_ADD_TEST_FILENAME_EXTENSION)
|
ei_add_test(cuda_basic)
|
||||||
|
|
||||||
endif(CUDA_FOUND)
|
unset(EIGEN_ADD_TEST_FILENAME_EXTENSION)
|
||||||
|
|
||||||
|
endif(CUDA_FOUND)
|
||||||
|
|
||||||
endif(EIGEN_TEST_CUDA)
|
endif(EIGEN_TEST_CUDA)
|
||||||
|
|
||||||
|
@ -36,8 +36,8 @@ if(ADOLC_FOUND)
|
|||||||
include_directories(${ADOLC_INCLUDES})
|
include_directories(${ADOLC_INCLUDES})
|
||||||
ei_add_property(EIGEN_TESTED_BACKENDS "Adolc, ")
|
ei_add_property(EIGEN_TESTED_BACKENDS "Adolc, ")
|
||||||
if(EIGEN_TEST_CXX11)
|
if(EIGEN_TEST_CXX11)
|
||||||
ei_add_test(forward_adolc "" ${ADOLC_LIBRARIES})
|
ei_add_test(forward_adolc "" ${ADOLC_LIBRARIES})
|
||||||
else()
|
else()
|
||||||
message(STATUS "Adolc found, but tests require C++11 mode")
|
message(STATUS "Adolc found, but tests require C++11 mode")
|
||||||
endif()
|
endif()
|
||||||
else(ADOLC_FOUND)
|
else(ADOLC_FOUND)
|
||||||
@ -80,35 +80,35 @@ endif()
|
|||||||
ei_add_test(sparse_extra "" "")
|
ei_add_test(sparse_extra "" "")
|
||||||
|
|
||||||
if (NOT CMAKE_CROSSCOMPILING)
|
if (NOT CMAKE_CROSSCOMPILING)
|
||||||
find_package(FFTW)
|
find_package(FFTW)
|
||||||
if(FFTW_FOUND)
|
if(FFTW_FOUND)
|
||||||
ei_add_property(EIGEN_TESTED_BACKENDS "fftw, ")
|
ei_add_property(EIGEN_TESTED_BACKENDS "fftw, ")
|
||||||
include_directories( ${FFTW_INCLUDES} )
|
include_directories( ${FFTW_INCLUDES} )
|
||||||
if(FFTWL_LIB)
|
if(FFTWL_LIB)
|
||||||
ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT -DEIGEN_HAS_FFTWL" "${FFTW_LIBRARIES}" )
|
ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT -DEIGEN_HAS_FFTWL" "${FFTW_LIBRARIES}" )
|
||||||
else()
|
|
||||||
ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT" "${FFTW_LIBRARIES}" )
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
ei_add_property(EIGEN_MISSING_BACKENDS "fftw, ")
|
ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT" "${FFTW_LIBRARIES}" )
|
||||||
endif()
|
endif()
|
||||||
|
else()
|
||||||
|
ei_add_property(EIGEN_MISSING_BACKENDS "fftw, ")
|
||||||
|
endif()
|
||||||
|
|
||||||
option(EIGEN_TEST_NO_OPENGL "Disable OpenGL support in unit tests" OFF)
|
option(EIGEN_TEST_NO_OPENGL "Disable OpenGL support in unit tests" OFF)
|
||||||
if(NOT EIGEN_TEST_NO_OPENGL)
|
if(NOT EIGEN_TEST_NO_OPENGL)
|
||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
find_package(GLUT)
|
find_package(GLUT)
|
||||||
find_package(GLEW)
|
find_package(GLEW)
|
||||||
if(OPENGL_FOUND AND GLUT_FOUND AND GLEW_FOUND)
|
if(OPENGL_FOUND AND GLUT_FOUND AND GLEW_FOUND)
|
||||||
include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS})
|
include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS})
|
||||||
ei_add_property(EIGEN_TESTED_BACKENDS "OpenGL, ")
|
ei_add_property(EIGEN_TESTED_BACKENDS "OpenGL, ")
|
||||||
set(EIGEN_GL_LIB ${GLUT_LIBRARIES} ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES})
|
set(EIGEN_GL_LIB ${GLUT_LIBRARIES} ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES})
|
||||||
ei_add_test(openglsupport "" "${EIGEN_GL_LIB}" )
|
ei_add_test(openglsupport "" "${EIGEN_GL_LIB}" )
|
||||||
else()
|
|
||||||
ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ")
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ")
|
ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ")
|
||||||
endif()
|
endif()
|
||||||
|
else()
|
||||||
|
ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ei_add_test(polynomialsolver)
|
ei_add_test(polynomialsolver)
|
||||||
@ -203,7 +203,7 @@ if(EIGEN_TEST_CXX11)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# These tests needs nvcc
|
# These tests needs nvcc
|
||||||
find_package(CUDA 7.0)
|
find_package(CUDA 9.0)
|
||||||
if(CUDA_FOUND AND EIGEN_TEST_CUDA)
|
if(CUDA_FOUND AND EIGEN_TEST_CUDA)
|
||||||
# Make sure to compile without the -pedantic, -Wundef, -Wnon-virtual-dtor
|
# Make sure to compile without the -pedantic, -Wundef, -Wnon-virtual-dtor
|
||||||
# and -fno-check-new flags since they trigger thousands of compilation warnings
|
# and -fno-check-new flags since they trigger thousands of compilation warnings
|
||||||
@ -224,15 +224,12 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
|
|||||||
string(APPEND EIGEN_CUDA_CXX11_FLAGS " -std=c++11")
|
string(APPEND EIGEN_CUDA_CXX11_FLAGS " -std=c++11")
|
||||||
endif(MSVC)
|
endif(MSVC)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
||||||
set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
|
|
||||||
endif()
|
|
||||||
if(EIGEN_TEST_CUDA_CLANG)
|
if(EIGEN_TEST_CUDA_CLANG)
|
||||||
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR} ${EIGEN_CUDA_CXX11_FLAGS}")
|
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
|
||||||
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
||||||
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
|
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
string(APPEND CMAKE_CXX_FLAGS " ${EIGEN_CUDA_CXX_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
|
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
|
||||||
set(NVCC_ARCH_FLAGS)
|
set(NVCC_ARCH_FLAGS)
|
||||||
@ -249,15 +246,10 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
|
|||||||
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
||||||
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
||||||
endforeach()
|
endforeach()
|
||||||
set(CUDA_NVCC_FLAGS "--expt-relaxed-constexpr -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS} ${EIGEN_CUDA_CXX11_FLAGS}")
|
set(CUDA_NVCC_FLAGS "--expt-relaxed-constexpr -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS} ${EIGEN_CUDA_CXX_FLAGS}")
|
||||||
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(EIGEN_CUDA_RELAXED_CONSTEXPR "--expt-relaxed-constexpr")
|
|
||||||
if (${CUDA_VERSION} STREQUAL "7.0")
|
|
||||||
set(EIGEN_CUDA_RELAXED_CONSTEXPR "--relaxed-constexpr")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
||||||
|
|
||||||
ei_add_test(cxx11_tensor_complex_cuda)
|
ei_add_test(cxx11_tensor_complex_cuda)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user