现在的项目,如果需要用到计算加速,Nvidia
的CUDA
往往是首选。那么如何在CMake
中编译写好的CUDA
源代码,可以参考如下。
首先使用FIND_PACKAGE
找到已经安装的CUDA
,此时需要配置的环境变量等,应该已经自动配置完成了
1 2 3 4 |
SET(CUDA_VERSION 8.0) FIND_PACKAGE(CUDA ${CUDA_VERSION} REQUIRED) STRING (TOLOWER ${CMAKE_SYSTEM_NAME} LOWER_SYSTEM_NAME) SET(CUDA_TARGET_INCLUDE ${CUDA_TOOLKIT_ROOT_DIR}-${CUDA_VERSION}/targets/${CMAKE_HOST_SYSTEM_PROCESSOR}-${LOWER_SYSTEM_NAME}/include) |
接下来,使用CUDA_ADD_LIBRARY
取代原来的ADD_LIBRARY
,如下:
1 2 3 4 5 6 7 8 |
CUDA_ADD_LIBRARY(mylib SHARED file1.cpp file2.cu file3.cpp OPTIONS -arch sm_20 ) TARGET_LINK_LIBRARIES(mylib ${CUDA_LIBRARIES}) |
如果是可执行程序,请使用CUDA_ADD_EXECUTABLE
取代ADD_EXECUTABLE
。
真的很不错