Option for generating device debug info. (#6168)
* Supply `-G;-src-in-ptx` when `USE_DEVICE_DEBUG` is set and debug mode is selected. * Refactor CMake script to gather all CUDA configuration. * Use CMAKE_CUDA_ARCHITECTURES. Close #6029. * Add compute 80. Close #5999
This commit is contained in:
@@ -23,45 +23,10 @@ add_executable(testxgboost ${TEST_SOURCES}
|
||||
target_link_libraries(testxgboost PRIVATE objxgboost)
|
||||
|
||||
if (USE_CUDA)
|
||||
# OpenMP is mandatory for CUDA
|
||||
find_package(OpenMP REQUIRED)
|
||||
if (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11.0)
|
||||
target_include_directories(testxgboost PRIVATE
|
||||
${xgboost_SOURCE_DIR}/cub/)
|
||||
endif (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11.0)
|
||||
target_compile_options(testxgboost PRIVATE
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:--expt-relaxed-constexpr>
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:-lineinfo>
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${OpenMP_CXX_FLAGS}>
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:${GEN_CODE}>)
|
||||
target_compile_definitions(testxgboost
|
||||
PRIVATE -DXGBOOST_USE_CUDA=1)
|
||||
xgboost_set_cuda_flags(testxgboost)
|
||||
|
||||
find_package(CUDA)
|
||||
target_include_directories(testxgboost PRIVATE ${CUDA_INCLUDE_DIRS})
|
||||
set_target_properties(testxgboost PROPERTIES
|
||||
CUDA_SEPARABLE_COMPILATION OFF)
|
||||
|
||||
if (USE_NCCL)
|
||||
find_package(Nccl REQUIRED)
|
||||
target_include_directories(testxgboost PRIVATE ${NCCL_INCLUDE_DIR})
|
||||
target_compile_definitions(testxgboost PRIVATE -DXGBOOST_USE_NCCL=1)
|
||||
target_link_libraries(testxgboost PRIVATE ${NCCL_LIBRARY})
|
||||
endif (USE_NCCL)
|
||||
|
||||
if (USE_NVTX)
|
||||
enable_nvtx(testxgboost)
|
||||
endif (USE_NVTX)
|
||||
|
||||
if (MSVC)
|
||||
target_compile_options(testxgboost PRIVATE
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8>
|
||||
)
|
||||
endif (MSVC)
|
||||
|
||||
set_target_properties(testxgboost PROPERTIES
|
||||
CUDA_STANDARD 14
|
||||
CUDA_STANDARD_REQUIRED ON)
|
||||
endif (USE_CUDA)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
Reference in New Issue
Block a user