blob: 76603cd9be7481ac76e2ebb850975f6260084059 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function(get_native_cuda_archs output_var)
execute_process(
COMMAND ${CMAKE_CUDA_COMPILER} -arch=native --dryrun -x cu /dev/null
OUTPUT_VARIABLE nvcc_output
ERROR_VARIABLE nvcc_error)
string(REGEX MATCH "-D__CUDA_ARCH_LIST__=([0-9,]+)" match "${nvcc_error}")
if(match)
string(REGEX REPLACE "-D__CUDA_ARCH_LIST__=([0-9,]+)" "\\1" arch_list
"${match}")
set(${output_var}
"${arch_list}"
PARENT_SCOPE)
else()
message(FATAL_ERROR "Failed to detect native CUDA architectures.")
endif()
endfunction()
get_native_cuda_archs(CUDA_ARCH_LIST)
message(STATUS "Detected CUDA architectures: ${CUDA_ARCH_LIST}")
target_compile_definitions(
cugraph_c
PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:__CUDA_ARCH_LIST__=${CUDA_ARCH_LIST}>")
|