#pre
最近开始学习深度学习,目前我打算还是先上手tensorflow。按照上tensorflow官方教程[1]的要求,在安装tensorflow-gpu之前,我需要先安装CUDA。在安装CUDA的过程中遇到了一些坑,浪费了我很多时间,这里记录下过程,以备之后查阅,或者给有相关需求的人参考。
#软硬件基础
##硬件
安装对硬件基本无要求,这里不赘述
##软件
- win 10,64bit
- visual studio 2017 community (最新版本)
- Geforce Experience(最新版本)
- 英伟达显卡驱动(最新版本)
#安装过程
##下载CUDA安装包
下载地址为:英伟达下载页面
CUDA9.2 有一个安装包和一个补丁文件,补丁文件可以直接下载,但是安装包文件一直下载失败(网络安装版,可以下载,但是无法安装。本地版本无法正常下载)
在英伟达官网论坛上检索相关问题的时候,我看到了这个帖子[2],其中回答者说他使用香港的VPN下载的时候毫无问题,所以我准备尝试一下,于是我挂了某个不可知的软件,最终下载成功。
##安装CUDA
按照英伟达官网的教程[3,4],我本来认为这个过程是会很令人愉悦,但是往往事实与理想都存在偏差。在安装CUDA的时候提示安装失败,在检索反馈信息之后,我发现 Visual Studio Integration 这个软件安装失败,这个错误导致安装程序无法正常的继续下去。
我发现在知乎上有人问过这个问题[5],其中答主【申尚昆】的回答看起来很可信,所以我按照他的方法做了,并且最后成功了。
步骤如下
- 重新安装CUDA,注意选择自定义安装
- 在选择安装类别的时候,取消选择Visual Studio Integration
- 安装完成
- 将CUDA安装包解压,将CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions 下的所有文件,复制到VS的对应目录下,参考路径如下
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
到此为止CUDA就安装完成了,
注意在最后的时候需要运行一下补丁安装包,这个补丁修复了CUDA9.2某个算法库的缺陷。
##测试CUDA
按照官方教程文档[5]中的指导,我们可以编译一遍nbody项目,然后尝试运行,结果为可以正常编译运行。
#后记
CUDA中自带了很多Sample,但是部分Sample依赖了第三方库,所以很多Sample无法正常编译(如0sample中有项目依赖了mpi,还有一个项目依赖了DirectX),我刚开始的时候尝试去编译所有的samples,被这些多出的依赖搞的焦头烂额,但是最后发现毫无必要,我当时真的是太蠢了。
#reference
[1]https://www.tensorflow.org/install/install_windows?hl=zh-cn
[2] https://devtalk.nvidia.com/default/topic/1025066/?comment=5214329
[3]https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
[4]https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#windows
[5]https://www.zhihu.com/question/276491276