Cuda与cmake

时间:2018-05-22 18:57:28

标签: visual-studio cmake cuda

我正在尝试使用我在网上找到的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=

2 个答案:

答案 0 :(得分: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验证的上限。< / LI>
  3. 通过第二个选项,我设法配置并编译项目。我不确定,虽然我后来遇到了这个&#34; hacky&#34;办法。但至少,我已经迈出了一步!

答案 1 :(得分:0)

对我来说,此问题是由nvcc(x64版本)不支持x86平台引起的,并且通过为cmake指定平台而得以解决:

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