【问题标题】:Cuda with cmake带有 cmake 的 Cuda
【发布时间】:2018-11-01 15:15:52
【问题描述】:

我正在尝试使用我在网上找到的 Cuda v8.0 编译现有的 CMake 项目。为此,我使用 CMake GUI 版本。 (我目前正在使用 Visual Studio 2017 运行 Windows 10)。 “配置”步骤总是给我以下错误消息:

找不到 CMAKE_CUDA_COMPILER。

我安装了 cuda 8.0(连同我从路径中删除的其他 Cuda 版本),CuDNN 也在我的路径中。而且我希望在某些时候生成 Visual Studio 项目文件,然后我可以使用这些文件来编译项目......

什么可能导致该错误?

编辑

根据要求,我在那里上传了 CMakeOutput.log:https://framabin.org/?c532b10d2a4aef54#NkJZItfUfPwMP6BHCiP5DhQS40duM4AhsKR+bWHN0tE=

【问题讨论】:

  • 向我们提供一个您正在使用的简短的CMakeLists.txt,希望它能够正常工作,但实际上并没有。然后我们也许可以发表评论。另外 - 您使用的是哪个 CMake 版本?
  • 我使用的是 cmake 3.11.1。但是 CMakelist 不是我的(我对 cmake 不太满意)。
  • 我们仍然需要看看你的CMakeLists.txt 正在尝试做什么,这是失败的。如果它很短,请链接到它或在此处发布。
  • @EmileD。我在您的输出中看到以下行:nvcc fatal : 32 bit compilation is only supported for Microsoft Visual Studio 2013 and earlier。您可以尝试切换到 VS2013。
  • 我认为错误来自 CUDA 而不是 CMake。它由c:\program files\nvidia gpu computing toolkit\cuda\v9.1\include\crt/host_config.h 中的#if _MSC_VER < 1600 || _MSC_VER > 1911 行触发。你可以尝试找出你的VS版本,看看是否有不匹配的地方。如果您想使用不同版本的 CUDA,只需将 CMAKE_CUDA_COMPILER 指向正确的路径即可。

标签: visual-studio cmake cuda


【解决方案1】:

好的!在@raul-laasner 的帮助下,我想我已经解决了我的问题!

  1. 第一个确实是我的Cuda版本没有正确识别。而且我在这个阶段根本不确定是否找到了一个。我的环境变量也可能被忽略。我必须将 CMAKE_CUDA_COMPILER 选项指定为“C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/bin/nvcc.exe”。
  2. 然后,问题在于我使用的 Visual Studio 版本太新。对于初学者,Cuda v8.0 与 Visual Studio 2017 不兼容:Cuda 8.0 with Visual Studio 2017。但即使使用最新版本的 Cuda,我的 Visual Studio 也太新了。含义:NVIDIA 在 Visual Studio 版本方面落后……现在,微软计划在大部分升级中更新 _MSC_VER。因此,我有两个选择:

    • 将 Visual Studio 降级到兼容版本。
    • 使用更新版本的 Cuda (9.2) 并修改 c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt\host_config.h 以更改 _MSC_VER 验证的上限。

通过执行第二个选项,我设法配置和编译了项目。我不确定这种“hacky”方式以后会不会出现问题。但至少,我已经更进一步了!

【讨论】:

    【解决方案2】:

    对我来说,这个问题是由 nvcc(x64 版本) 不支持 x86 平台引起的,通过指定 cmake 的平台来解决:

    $build> cmake .. -G"Visual Studio 15 2017 Win64"
    

    【讨论】:

      猜你喜欢
      • 2014-08-16
      • 2020-09-20
      • 2015-10-31
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2018-09-20
      相关资源
      最近更新 更多