feat: Add new CUDA find logic to CMAKE file.

This commit is contained in:
kradchen
2024-12-18 13:16:53 +08:00
parent f3ec70661c
commit ea188e5ad4

View File

@@ -8,9 +8,10 @@ set(Aurora_USE_CUDA ON)
if (Aurora_USE_CUDA)
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
set(CUDA_TOOLKIT_ROOT /usr/local/cuda)
enable_language(CUDA)
find_package(CUDA)
find_package(CUDAToolkit REQUIRED)
add_definitions(-DUSE_CUDA)
endif(Aurora_USE_CUDA)
@@ -43,12 +44,12 @@ target_link_libraries(Aurora PUBLIC $<LINK_ONLY:MKL::MKL>)
target_link_libraries(Aurora PUBLIC OpenMP::OpenMP_CXX)
target_link_libraries(Aurora PUBLIC matio)
if (Aurora_USE_CUDA)
target_include_directories(Aurora PRIVATE ./src /usr/local/cuda/include)
target_include_directories(Aurora PRIVATE ./src ${CUDA_INCLUDE_DIRS})
set_target_properties(Aurora PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
target_compile_options(Aurora PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:
-arch=sm_75 --expt-extended-lambda
>)
target_link_libraries(Aurora PRIVATE ${CUDA_RUNTIME_LIBRARY} CUDA::cufft CUDA::cudart)
target_link_libraries(Aurora PRIVATE ${CUDA_RUNTIME_LIBRARY} ${CUDA_cufft_LIBRARY})
target_link_libraries(Aurora PRIVATE ${CUDA_cublas_LIBRARY})
target_link_libraries(Aurora PRIVATE ${CUDA_cusolver_LIBRARY})
endif(Aurora_USE_CUDA)