现在大概是晚上12点左右,和同门说了一些废话,耽误博客的整理了。其实研一刚入学的时候我就在搞cuda了,那时候不是为了做深度学习的应用,而是为了写cuda-c,也就是cuda编程,第一次安装也是在win10,windows安装cuda总是需要装vc++,挺麻烦的。后来深度学习火了,就开始搞tensorflow,底层需要cuda调用gpu,我也就开始尝试在linux系统上安装cuda。我的踩坑之旅也就开始了。
记得我装的第一版cuda还是7.5,现在已经更新到cuda10了,真是日新月异,tensorflow也发布到1.19了,当时用的最稳的还是0.12,也算是见证了tensorflow的成长。但我一直没有细致地梳理整个安装过程。都是网上随便找找教程就装了。网上的教程参差不齐,好多问题都是遇到了才是坑,就像好多人一下子就装好了,有些人一直在踩坑。今天我就把这些坑都一一写出,大家有任何问题都可以在我的博客下面留言。
dingxiaofeideMac-mini:~ dingxiaofei$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:N9Jv+3/Mr3Vg5ZGjnK5BHvvn6sEcJeKxLY3zQMrCdPo.
Please contact your system administrator.
Add correct host key in /Users/dingxiaofei/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/dingxiaofei/.ssh/known_hosts:18
ECDSA host key for 10.64.17.177 has changed and you have requested strict checking.
Host key verification failed.
在我想远程访问一下我的服务器的时候,ssh突然报了一个错,这边我也找到了一个解决方案
https://blog.csdn.net/wd2014610/article/details/79945424
顺利解决,ok,下面是正文。
首先我不想提什么样的gpu才能安装cuda之类的东西,这种大家一般要装cuda的都知道自己的gpu是支持cuda的,不然也不会想着去装cuda。
我cuda的选择是根据tensorflow的版本来选择的,最新的cuda版本是10,但是感觉有点新了,老版本的tensorflow代码可能不能跑,这边放一张cuda和tensorflow版本对应的截图
来自https://blog.csdn.net/lifuxian1994/article/details/81103530
选好版本就是去官网下载cuda啦
https://developer.nvidia.com/cuda-toolkit-archive
这个网址可以找到历史版本的
下载runfile文件的,这边有一个坑,就是使用浏览器下载老是下载到百分之八十就差不多挂了,所以大家还是把链接复制到迅雷里面去下载。
一定要看官方的文档
一定要看官方的文档
一定要看官方的文档
可以避免很多坑,下面我们需要准备两个工作,第一就是下载显卡驱动,不要使用cuda里面的驱动,不然你会遇到找不到内核的报错,因为官方的文档写的很清楚,看下面的截图,这是一个坑
内核版本的支持是4.4,而我们正常16.04已经都是4.10以上的内核了,你再怎么尝试都是没有用的。老老实实去下载最新的驱动吧
选择对应的卡,系统就可以下载了。下面我们就要开始安装驱动啦。
先禁用官方开源的显卡驱动nouveau
也不用查什么你有没有这驱动了,一般都有,我们直接讲这么禁用这个驱动
创建一个禁用文件
gedit /etc/modprobe.d/blacklist-nouveau.conf
在这个文件里面添加这两行
blacklist nouveau
options nouveau modeset=0
然后保存退出,输入以下命令
sudo update-initramfs -u
重启一下,看一下你的屏幕分辨率有没有变得很奇怪,如果变了就是成功了,如果没有,那么就重复上面的操作直到很奇怪。
关闭图形界面
登录界面ctrl+alt+f1就会切换到命令行界面
执行命令
sudo service lightdm stop
ok,下面我们可以安装我们的驱动啦
sudo sh 驱动的文件
一般按照上面的操作没有什么特别的坑,有什么坑,欢迎留言咨询,顺序执行就可以啦,如果有opengl的选择,选no,不然会陷入循环登录的怪圈。
同样的命令执行cuda.run文件
驱动已经安装了就不需要再安装,OpenGL不需要,x也不需要,这样基本就没有什么坑,可以顺利安装完成
然后执行
sudo service lightdm start
开启图形界面,可以重启一下机器,分辨率会回到正常,cuda也安装完成了,添加一下环境变量
建议添加到全局环境里面
sudo gedit /etc/profile
添加下面两行变量
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
source /etc/profile
这下就可以了。
下面我们先检查一下驱动是否正确安装,输入nvidia-smi
出现gpu的信息就说明驱动是没有任何问题的
下面我们再检查一下cuda是否安装完成,输入以下命令
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
大家有任何问题都可以留言,我看到后会尽快回复,官方文档是很香的,教程只是辅导,官方才是王道。