2023-05-18 16:04:27 +08:00
|
|
|
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
|
|
|
|
|
project(TVALGPU)
|
|
|
|
|
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
|
|
|
|
|
enable_language(CUDA)
|
2023-05-30 17:32:52 +08:00
|
|
|
file(GLOB_RECURSE tval3_cpp_files src/*.cpp)
|
|
|
|
|
file(GLOB_RECURSE tval3_cu_files src/*.cu)
|
|
|
|
|
find_package(CUDAToolkit REQUIRED)
|
|
|
|
|
add_library(TVALGPU SHARED ${tval3_cpp_files} ${tval3_cu_files})
|
|
|
|
|
target_include_directories(TVALGPU PRIVATE ./src /usr/local/cuda/include)
|
2023-05-18 16:04:27 +08:00
|
|
|
set_target_properties(TVALGPU PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
|
2023-05-30 17:32:52 +08:00
|
|
|
target_compile_options(TVALGPU PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:
|
2023-05-18 16:04:27 +08:00
|
|
|
--compiler-options -fPIC
|
|
|
|
|
--use_fast_math
|
|
|
|
|
--ptxas-options=-v
|
|
|
|
|
-arch compute_30 -code compute_30,sm_30
|
|
|
|
|
>)
|
|
|
|
|
|
2023-05-30 17:32:52 +08:00
|
|
|
target_link_libraries(TVALGPU PRIVATE ${CUDA_RUNTIME_LIBRARY} CUDA::cusparse CUDA::cublas)
|
|
|
|
|
set(TVALGPU_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/tval3gpu3d.h ${CMAKE_CURRENT_LIST_DIR}/src/tvalstruct.h)
|
|
|
|
|
set_target_properties(TVALGPU PROPERTIES PUBLIC_HEADER "${TVALGPU_HEADERS}")
|