我想将CUDA编译为PTX以进行嵌入式开发。为此,我使用CMAKE 3.18.5与Visual Studio 16(2019)生成器,这是项目的要求。但问题在于目标标志被重复了
compute_75,compute_75;compute_75,sm_75
,因此nvcc拒绝将其编译为ptx。
我使用了一个来自GitHub存储库的代码示例作为最小工作示例,该示例在NVIDIA DevBlog中得到了介绍。该示例可以正常工作。我将示例更改为需要CMAKE 3.18(从3.8)并添加...2> C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VC \ v160 \ BuildCustomizations \ CUDA 11.2.targets(625,9):错误:指定了多个代码生成选项,只有当NVCC编译类型为“compile”或“fatbin”时才允许。
set_property(TARGET CudaPTX PROPERTY CUDA_ARCHITECTURES 75)
set_property(TARGET ExportPTX PROPERTY CUDA_ARCHITECTURES off)
我的问题出现在第51行(在target_include_directories之后),截图。
- 我做错了什么?
- 我该如何开始调试这样的问题?
- 在需要cmake 3.18和vs2019的情况下,我该如何更改代码示例以编译?