CUDA安装失败原因

一般CUDA安装失败都是由于其中Visual Studio(VS) Intergration无法安装导致的:

当然可以通过自定义的方式取消Visual Studio Intergration进行安装,


然后再重新用CUDA安装程序将Visual Studio Intergration单独装上去,不过这种方法成功概率不大。并且随之而来的问题就是在Visual Studio编译时会报错,比如我所使用的VS2015出现了如下错误“未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 8.0.props”。请确认<Import> 声明中的路径正确,且磁盘上存在该文件。”

解决方法

基础篇

基础篇用于解决编译问题,完成这一部分即可保证CUDA程序正常运行。

首先请按照

的选择项自定义安装CUDA,并记下你所释放安装程序的路径,比如我的是“D:\Download\test”:
这里写图片描述
然后在安装CUDA的时候,将“D:\Download\test”路径下的CUDAVisualStudioIntegration文件夹拷到其他位置保存,这里记作“dir\CUDAVisualStudioIntegration”,dir为你拷贝文件所在路径。该文件夹所含文件如下图示:
这里写图片描述
随后等待CUDA安装完成后点击确认。
之后,请运行VS,编译CUDA Samples工程(“C:\ProgramData\NVIDIA Corporation\CUDA Samples”),并找到VS报错路径,比如我的是“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 8.0.props”,并将“dir\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions”中的所有文件拷贝到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations”文件夹中。
重启VS,即可解决问题。

进阶篇

进阶篇可实现VS中直接新建CUDA解决方案的功能。

我们发现,虽然上述VS已可以正常编译,但毕竟不是完整安装CUDA,因此缺失了VS中“新建CUDA解决方案”的功能,如图:
这里写图片描述
这时候只需要将“dir\CUDAVisualStudioIntegration\extras\visual_studio_integration”下的CudaProjectVsWizards文件夹整体拷贝到“D:\ProgramFiles\Microsoft Visual Studio 14.0\Common7\IDE\Extensions”下即可,其中加粗部分为VS安装路径。重启VS,问题解决:
这里写图片描述
最后的最后,还可以把“dir\CUDAVisualStudioIntegration”下的NVIDIA_Nsight_Visual_Studio_Edition_Win64_5.2.0.16321安装一下,它是CUDA给VS2015提供的一个调试插件。


Tips:
1. 请注意文中所述路径并不一定是你所需要的路径,而所需路径的寻找方法已在文中给出,请仔细阅读;
2. 至于CUDAVisualStudioIntegration文件夹下的其他文件,我就不知道是做什么用的了,至少目前运行TensorFlow一切正常。并且毕竟刚开始接触这些东西,残存的一些文件归属问题就等熟练了之后再做处理吧。