现在的项目,如果需要用到计算加速,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。
真的很不错