Windows下CUDA C/C++环境配置[Visual Studio + CUDA11],解决nvcc fatal等多个问题
nvcc fatal
在Windows下配置CUDA C/C++ 环境比Linux下复杂不少,Linux下开发后为了在Windows环境中编译、测试一下走了不少弯路,安装了多个版本的Visual studio、CUDA、Clion等,特此记录一下可行的流程。
出现过多种问题,不限于:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
nvcc fatal : Microsoft Visual Studio configuration file 'vcvars64.bat' could
CUDA11.5 require VS versions between 2017 and 2019 (inclusive)
其中第一个错误是没有正确配置C++编译器或者Path设置不正确第二个是C++相关组件没有正确安装,最后一个是VS和CUDA的版本兼容性问题。
写在前面
首先本机环境是Windows10+GTX1660Ti.
如果配置过程中总是有各种问题,可以考虑卸载CUDA,从控制面板的程序里面按安装时间排序,将NVIDA、CUDA等带绿色眼睛标识的软件从下到上卸载,保留图形驱动程序、PhysX系统软件和GeForce Experience三个软件。可将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
对应版本删除。
推荐使用最新的CUDA 11.5,否则编译过程中可能会出现多种编译错误。
有的教程提到需要先安装Visual studio再安装CUDA,不清楚是否是必须的。
VS
到VS官网下载Visual studio Cummunity,我除了VS 2022还找到其他链接下载了VS 2019,版本之间可能会带来一些差异,并且19年之后可能无法正常兼容,本人最终使用 VS 2019成功安装。
安装程序准备好之后选择【工作负荷】中的【使用C++的桌面开发】。有的教程中提到安装【单个组件】中的【MSVC】,但这可能会造成问题,其他注意点见下方Tips。
Tips1:尽量不要只安装单个组件,仅安装单个组件可能会造成nvcc fatal : Microsoft Visual Studio configuration file 'vcvars64.bat' could
的问题。
Tips2:检查Path,在Tips1中正确安装后应该能找到以下文件夹:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
和 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
。
并将其加到Path中(VS2022安装后在C:\Program Files\下)。前者缺失会造成nvcc fatal : Cannot find compiler 'cl.exe' in PATH
,后者确实会导致’vcvars64.bat’找不到。添加Path之后注销或者重启。
Tips3:C++ x64/x86生成工具需要是2017-2019之间的(对应CUDA11.5),否则会触发CUDA11.5 require VS versions between 2017 and 2019 (inclusive)
的错误。
CUDA
到CUDA官网下载CUDA toolkit 11.5,双击安装后在cmd输入nvcc -V
即可显示版本信息。
CUDA C/C++ 编译测试
在cmd中输入nvcc -o example.dll --shared example.cu
即可进行编译