未验证 提交 d053dfd5 编写于 作者: Z Zeng Jinle 提交者: GitHub

fix cuda arch detection (#24036)

上级 db6d8673
...@@ -26,7 +26,9 @@ function(detect_installed_gpus out_variable) ...@@ -26,7 +26,9 @@ function(detect_installed_gpus out_variable)
set(cufile ${PROJECT_BINARY_DIR}/detect_cuda_archs.cu) set(cufile ${PROJECT_BINARY_DIR}/detect_cuda_archs.cu)
file(WRITE ${cufile} "" file(WRITE ${cufile} ""
"#include <cstdio>\n" "#include \"stdio.h\"\n"
"#include \"cuda.h\"\n"
"#include \"cuda_runtime.h\"\n"
"int main() {\n" "int main() {\n"
" int count = 0;\n" " int count = 0;\n"
" if (cudaSuccess != cudaGetDeviceCount(&count)) return -1;\n" " if (cudaSuccess != cudaGetDeviceCount(&count)) return -1;\n"
...@@ -34,12 +36,12 @@ function(detect_installed_gpus out_variable) ...@@ -34,12 +36,12 @@ function(detect_installed_gpus out_variable)
" for (int device = 0; device < count; ++device) {\n" " for (int device = 0; device < count; ++device) {\n"
" cudaDeviceProp prop;\n" " cudaDeviceProp prop;\n"
" if (cudaSuccess == cudaGetDeviceProperties(&prop, device))\n" " if (cudaSuccess == cudaGetDeviceProperties(&prop, device))\n"
" std::printf(\"%d.%d \", prop.major, prop.minor);\n" " printf(\"%d.%d \", prop.major, prop.minor);\n"
" }\n" " }\n"
" return 0;\n" " return 0;\n"
"}\n") "}\n")
execute_process(COMMAND "${CUDA_NVCC_EXECUTABLE}" "-ccbin=${CUDA_HOST_COMPILER}" execute_process(COMMAND "${CUDA_NVCC_EXECUTABLE}"
"--run" "${cufile}" "--run" "${cufile}"
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/CMakeFiles/" WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/CMakeFiles/"
RESULT_VARIABLE nvcc_res OUTPUT_VARIABLE nvcc_out RESULT_VARIABLE nvcc_res OUTPUT_VARIABLE nvcc_out
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册