首页 > 解决方案 > 带有 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=

标签: visual-studiocmakecuda

解决方案


好的!在@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”方式以后会不会出现问题。但至少,我已经更进一步了!


推荐阅读