【发布时间】:2021-05-05 11:35:04
【问题描述】:
我想将 cuda 编译为 ptx 以进行嵌入。为此,我将 CMAKE 3.18.5 与 Visual Studio 16(2019) 生成器一起使用,这是项目的要求。我遇到的问题是目标标志重复compute_75,compute_75;compute_75,sm_75,因此 nvcc 拒绝将其编译为 ptx。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.2.targets(625,9):错误:指定了超过 1 个代码生成选项,仅当 NVCC 编译类型为“编译”时才允许 或'fatbin'。
对于一个最小的工作示例,我使用一个代码示例来说明如何从 github repo 执行此操作,它是 在 nvidia devblog 中出现。这个例子有效。 我将示例更改为需要 CMAKE 3.18(来自 3.8)并添加
set_property(TARGET CudaPTX PROPERTY CUDA_ARCHITECTURES 75)
set_property(TARGET ExportPTX PROPERTY CUDA_ARCHITECTURES off)
在第 51 行(在 target_include_directories 之后),我的问题就显现出来了。 screenshot.
- 我做错了什么?
- 如何开始调试这样的事情?
- 鉴于我需要 cmake 3.18 和 vs2019,如何更改我的代码示例以进行编译?
【问题讨论】:
标签: visual-studio cmake cuda