2-二、安装CUDA
本文档安装流程通过“NVIDIA 控制面板”确定CUDA版本;下载CUDA安装包并安装;验证CUDA安装是否成功;环境变量配置–添加CUPTI路径(一)查看显卡驱动支持的CUDA最高版本版本的确定非常重要,一旦选错,后面想安装tensorflow也不容易,会报很多错,而报错的原因还是因为CUDA、cuDNN和tensorflow之间的版本没有确定好。另外补充一点,在配置深度学习的...
本文档安装流程
- 通过“NVIDIA 控制面板”确定CUDA版本;
- 下载CUDA安装包并安装;
- 验证CUDA安装是否成功;
- 环境变量配置–添加CUPTI路径
(一)查看显卡驱动支持的CUDA最高版本
版本的确定非常重要,一旦选错,后面想安装tensorflow也不容易,会报很多错,而报错的原因还是因为CUDA、cuDNN和tensorflow之间的版本没有确定好。
另外补充一点,在配置深度学习的环境时,很多时候软件的版本不要选择最新的!!!
大致步骤:通过“NVIDIA 控制面板”查看。具体如下:
在电脑桌面空白处点击鼠标右键,单击“NVIDIA 控制面板”。
点击左下角的“系统信息”
在“显示”一栏中,可以看到“驱动程序版本”为442.19
点击“组件”
找到NVCUDA.DLL一栏,产品名称为“NVIDIA CUDA 10. 2.131 driver”,可以看到CUDA版本为10.2.131
补充说明:这里的10.2.131只是表示电脑支持的CUDA版本最高为10.2.131,不一定非要安装10.2.131,可以选择安装10.2.89、10.1、10.0、9.0等等,需要根据实际情况。即:可以低于10.2.131,但不能高于它。
此外,也可以在NVIDIA官网的CUDA版本说明中进一步确定电脑驱动程序对应的CUDA版本(见图4)。网址为:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
我的电脑是windows系统,所以看最右边一列,在图2中,我的电脑的 “驱动程序版本”为442.19,大于图4的441.22,可知对应的官网CUDA版本为10.2.89。
我猜测10.2.131新于10.2.89,但是官网没有。所以选择官网有的版本:10.2.89。
也就是说,我应该下载版本为10.2.89的CUDA
但是!!如果你和我一样,可以安装10.2.x版本的CUDA,请不要这么做!!
因为CUDA10.2.x是目前最新版本的,有非常大的概率会出问题。事实证明,我在验证tensorflow的时候,就出问题了→“DLL load failed: 找不到指定的模块。”而错误的原因就是版本不兼容。类似的情况见此链接:https://blog.csdn.net/dz4543/article/details/103711438
另外,这篇文章(在 Ubuntu18.04.1 上安装 TensorFlow2.0-GPU)的作者提到了这样一句话:“CUDA 版本已经升级到了 10.1,然而 TensorFlow2.0 目前只支持 CUDA10.0,所以你如果想要在 TensorFlow2.0 中使用 GPU 加速,那么你别无选择,只能安装 CUDA10.0!!!”https://www.tensorflowers.cn/t/8339
虽然我暂未找到官方文档的说明,但是我猜测Tensorflow对于CUDA版本的支持跟不上CUDA自身版本的更新,不论是windows还是ubuntu(只是猜测,如果有错,请指出)
总结:到目前(2020.2月底)为止,即便你的电脑支持的CUDA版本最高为10.2.x,也不要选择此版本的CUDA。你大可以选择10.1、10.0、9.0等等。
那么,到底应该选择哪样的CUDA版本呢?可以点击以下链接,查看各个版本(CUDA、cuDNN、tensorflow、python等之间的版本配置)
https://github.com/fo40225/tensorflow-windows-wheel
特别说明:这个表不是绝对的;另外,现在(2020年)网上很多“tensorflow与CUDA对应版本”的表格似乎有点老了,与CUDA目前更新速度有点差距;而tensorflow官方的文档又不给力。所以只能靠自己一点点摸索与尝试。
如果尝试到可以匹配使用的版本(基本不报错)就用下去吧,不必太纠结。
我恰好摸索出这样一套版本(亲测可用),供大家参考:
cuda_10.0.130_411.31_win10
cudnn-10.0-windows10-x64-v7.6.3.30
tensorflow-gpu-1.13.1
Anaconda3-5.2.0-Windows-x86_64(对应python3.6.5)
pycharm-community-2019.2.1 (pycharm用什么版本都可以,不会影响)
(二)下载CUDA并安装
确定好CUDA版本后就可以开始下载了。
点击下面这个链接,点击“Legacy Releases”(旧版本)
https://developer.nvidia.com/cuda-downloads
点击“CUDA Toolkit 10.0”(请根据实际情况,选择刚刚确定好的CUDA版本)
根据提示(蓝色划线部分),点击红色部分的绿色按钮,选择自己电脑平台对应的信息
以下为我选好的信息截图
每一项依次为:Windows(操作系统)、x86_64(64位)、10(win10)、本地/离线安装(安装包类型)
其中,network和local的区别:
network:A network installer is a small installer client that will only download the required components during the installation. It is faster to download, but requires re-downloading each component with each new installation. (百度翻译:网络安装程序是一个小型安装程序客户端,只在安装过程中下载所需的组件。下载速度更快,但需要在每次新安装时重新下载每个组件。)
local:A local installer is self-contained and includes every component. It is a large file that only needs to be downloaded from the internet once and can be installed on multiple systems. Local installers are the recommended type of installer with low- bandwidth internet connections, or where using a network installer is not possible [such as due to firewall restrictions). (百度翻译:本地安装程序是自包含的,包括每个组件。它是一个大文件,只需要从internet上下载一次,就可以安装在多个系统上。本地安装程序是推荐使用低带宽internet连接的安装程序类型,或者在无法使用网络安装程序的情况下(例如由于防火墙限制)。)
简单来说:
network为在线安装,包体较小,一边下载一边安装(双击安装包后还要联网下载部分文件);local为离线安装,安装包较大,为完整安装包,包含了安装所需要的所有的文件(双击安装包后无需再联网)。
推荐使用local安装,避免在网络状况不太好的情况下出现长时间等待或安装失败的情况。
下载完成,得到这样一个CUDA安装包
双击安装包,弹出“用户账户控制”,单击“是”
选择临时解压文件夹(这里是临时的,安装完后会自动删除,所以更改与否都无所谓)
解压过程有点漫长,耐心等待
解压完成后,自动进入安装界面(第一个界面,可能你的和我的会不一样,因为我当前的电脑装的驱动是最新的,比我下载的这个CUDA带的驱动版本还新。这里没什么影响)
点击“继续”
“同意并继续”
注意这一步,不要选择“精简”,要选“自定义”
到了这一步,请警惕,这里的勾选很关键(下图还未作勾选)
勾选要点:
1)去掉 “NVIDIA GeForce Experience”
实际上这个在“NVIDIA控制面板”中有提到,这个没什么用,无需安装
2)展开CUDA,去掉“Visual Studio Integration”
如果你的电脑里面没有安装Visual Studio(注意不是Visual Studio Code!),这里一定不能勾选;如果你的电脑安装了Visual Studio,这里可以勾选也可以不勾选,为了确保安装成功,建议不要勾选。(我的电脑没有安装Visual Studio,所以不勾选)
3)展开“Driver components”,找到“Display Driver”,根据情况,判断是否勾选。
“新版本”表示当前CUDA安装包所带的驱动版本,“当前版本”表示你的电脑当前的驱动版本
①如果你的电脑当前没有安装驱动,那么这一项一定要勾选上。(对应tensorflow-gpu软件要求的“NVIDIA GPUdrivers”)
②如果你的电脑安装了驱动,并且“当前版本”大于“新版本”,一定不能勾选。(因为版本低的不能覆盖版本高的)
③如果你的电脑安装了驱动,并且“当前版本”小于等于“新版本”,可以勾选,也可以不勾选(勾选的话,会用“新版本”覆盖“当前版本”。不勾选则不安装“新版本”)。
勾选后点击“下一步”
选择安装位置(位置可以更改)
这里我改成了D盘
题外话:建议文件夹名称短一些好,因为有一部分最终会添加到path中,我是学生,需要安装很多软件,配置很多条环境变量,而微软对path的长度有限制,文件夹名称太长会导致环境变量条数有限制(亲身经历,只是建议,不喜勿喷)
设置好安装位置后点击“下一步”,开始安装
注意:尽量不要同时进行其他高耗的活动,否则容易导致CUDA安装程序未响应,将自动关闭,安装程序一旦自动关闭,最开始的临时文件夹下的文件将消失,一切将从头开始。
安装完成
(非必需)可以大致看到刚刚取消勾选的VS确实没有安装上
点击“关闭”
至此,CUDA安装成功
(三)确认CUDA是否安装成功
1.确认nvcc(英伟达的编译器)
1)在CUDA安装路径的bin目录下,查找nvcc.exe。有则表明CUDA安装成功。
也可在命令行输入“nvcc -V”(该命令:查看nvcc版本信息),如果内容如下,则安装成功。
题外话:之所以能在命令行中搜索到,是因为它被自动添加到path中
另外,其实一台电脑可以安装多个CUDA,使用哪个可以自己设置。比如电脑中装了9.0和10.2两种,环境变量中就会有2条对应CUDA9.0,有2条对应CUDA10.2(同一个版本的要挨在一起),如果要使用CUDA9.0,就要将CUDA9.0对应的那两条环境变量上移,移到CUDA10.2的两条环境变量的前面(因为命令“echo %PATH%”在搜索时是按照顺序搜索的)
以下图为例,由于CUDA10.0在CUDA9.0上面,所以调用的是CUDA10.0
2.确认CUPTI
如果能按照以下路径,找到“cupti64_100.dll”文件,说明CUPTI存在
CUDA安装路径–“extras”文件夹—“CUPTI”文件夹—“libx64”文件夹—“cupti64_100.dll”文件
补充:
1)“libx64”文件夹也可能是lib64。不同版本的CUDA可能会不一样,比如CUDA10.2的就是lib64
2)关于“cupti64_100.dll”文件:
下划线后面的数字和CUDA版本一致,例如CUDA为10.2,则文件名为cupti64_102.dll
(四)环境变量配置:添加CUPTI路径
在“cupti64_100.dll”文件所在路径下,单击地址栏即可复制“cupti64_102.dll”文件所在路径
即D:\myDL\CUDAv10_0\Toolkit\extras\CUPTI\libx64(请复制自己的,不要复制我的)
右击左侧的“此电脑”—单击“属性”—“高级系统设置”—“环境变量”—双击下方系统变量的“path”
“新建”—在最下方光标闪烁处粘贴刚刚复制的路径
D:\myDL\CUDAv10_0\Toolkit\extras\CUPTI\libx64
选中这一项,不断点击“上移”,使之最终与CUDA10.0挨在一起
这三者的先后顺序无关紧要,主要是要保证三者挨在一起
最后一路单击“确定”来关闭面板
至此,CUDA的安装及配置均完成
上一篇文章:1-一、安装NVIDIA控制面板
下一篇文章:3-三、安装cuDNN
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)