如何从 cmake(3.10 版本)将 CUDA 架构设置为 compute_50 和 sm_50?

新手上路,请多包涵

我的项目使用 CMake-GUI 和 Visual Studio。我的系统上没有安装 gpu 卡。生成的 Visual Studio 解决方案将 nvcc 标志设置为 compute_30 和 sm_30,但我需要将其设置为 compute_50 和 sm_50。

我使用 64 位编译的 CMake 3.10.1 和 Visual Studio 14 2015。

我希望取代 CMake 的默认设置。我没有使用 Find CUDA 方法来搜索和添加 CUDA。我在 CMAKE 中添加了 CUDA 作为语言支持,VS 启用了基于此的 CUDA 构建自定义。

原文由 C0D3R 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

正确的方法是:

 target_compile_options(myTarget PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:-gencode arch=compute_50,code=sm_50>)

根据需要选择 PRIVATE/PUBLIC。这是设置每个目标标志的正确方法。

原文由 Jimmy Pettersson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题