我得到了以下设置。我将使用CUDA使用MPI和其他Stuff扩展用C ++编写的框架。该项目使用cmake进行建设。我想避免使用库来扩展我的cuda源代码文件。之后我想链接这些对象对象文件和其他编译器编译的其他文件。 有没有人对hwo有所了解?
我查看http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake以了解如何使用cmake使用CUDA,但此解决方案也使用了库。
答案 0 :(得分:28)
可以使用较新版本的cmake附带的CUDA支持编译目标文件。您使用cuda_compile
命令。见下文。
# CMakeLists.txt for G4CU project
project(test-cuda-thrust-gdb)
# required cmake version
cmake_minimum_required(VERSION 2.8)
# packages
find_package(CUDA)
# nvcc flags
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_20,code=sm_20)
cuda_compile(HELPER_O helper.cu)
cuda_compile(DRIVER_O driver.cu OPTIONS -G)
cuda_add_executable(driver ${HELPER_O} ${DRIVER_O})
如果您需要更多信息,请查看FindCUDA.cmake
文件。