我得到以下设置。我将使用CUDA使用MPI和其他Stuff扩展用C++编写的框架。该项目使用cmake进行建筑。我想避免为我的扩展使用库并从我的cuda源创建目标文件。之后,我想链接这些对象对象文件和一些其他编译器编译的文件。 有没有人有一个线索来实现这一目标?使用cmake构建CUDA对象文件
我查看了http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake以获得有关如何在Cmake中使用CUDA的概述,但该解决方案也使用了库。
我得到以下设置。我将使用CUDA使用MPI和其他Stuff扩展用C++编写的框架。该项目使用cmake进行建筑。我想避免为我的扩展使用库并从我的cuda源创建目标文件。之后,我想链接这些对象对象文件和一些其他编译器编译的文件。 有没有人有一个线索来实现这一目标?使用cmake构建CUDA对象文件
我查看了http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake以获得有关如何在Cmake中使用CUDA的概述,但该解决方案也使用了库。
可以使用新版本的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
文件。
感谢您的回答。无论如何,我决定去图书馆版本,谢谢 – soriak
OpenCV库已经通过CUDA加速了GPU模块。主要的做法是用CUDA_COMPILE CMake宏编译cuda文件,然后在您的ADD_EXECUTABLE或ADD_LIBRARY中添加目标文件。请参阅[OpenCV](https://github.com/Itseez/opencv.git) – geek