gpt4 book ai didi

visual-studio - CMAKE Cuda/ptx 项目上的重复代码生成标志

转载 作者:行者123 更新时间:2023-12-04 13:29:26 28 4
gpt4 key购买 nike

我想将 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 VisualStudio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA11.2.targets(625,9): error : More than 1 Code Generation option is specified, this is only allowed if NVCC Compilation Type is 'compile'or '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,如何更改我的代码示例以进行编译?
  • 最佳答案

    这是因为 CMake 为 real and virtual devices 生成架构,不幸的是与 PTX 生成不兼容。
    仅使用虚拟架构使用以下力量,并修复问题:

    set(CMAKE_CUDA_ARCHITECTURES 75-virtual)

    关于visual-studio - CMAKE Cuda/ptx 项目上的重复代码生成标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65990215/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com