【问题标题】:Building CUDA object files using cmake使用 cmake 构建 CUDA 目标文件
【发布时间】:2012-10-15 22:32:45
【问题描述】:

我得到了以下设置。我将使用 MPI 和其他使用 CUDA 的东西来扩展用 C++ 编写的框架。该项目使用 cmake 进行构建。我想避免为我的扩展使用库并从我的 cuda 源构建目标文件。之后,我想链接这些目标文件和用其他编译器编译的其他一些文件。 有没有人知道如何实现这一目标?

我查看了http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake 以获得有关如何将 CUDA 与 cmake 一起使用的概述,但此解决方案也使用了一个库。

【问题讨论】:

  • OpenCV 库具有使用 CUDA 加速的 gpu 模块。主要方法是使用 CUDA_COMPILE CMake 宏编译 cuda 文件,然后在 ADD_EXECUTABLE 或 ADD_LIBRARY 中添加目标文件。见OpenCV

标签: build cuda cmake


【解决方案1】:

可以使用较新版本的 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 文件。

【讨论】:

  • 感谢您的回答。毕竟我决定去图书馆版,还是谢谢你
猜你喜欢
  • 1970-01-01
  • 2017-06-21
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多