Ubuntu16.04下cuda9.0+cudnn7.0安装指南

原文参考Ubuntu16.04下cuda9.0+cudnn7.0安装指南  基于此文又加入大量自己写的,转载要求详见文末。

 

首次安装cuda和cudnn,感谢师兄提供这篇文章,基于这篇看起来1个小时就能搭好的教程,因为各种报错实际操作一下午加一晚上,现在根据这篇文章添加一些补充和实际安装过程中出现的问题。

设备说明

系统:Ubuntu16.04及以上

显卡:博主是一块GTX 1080,只要你是以下类型的都可以

检查安装驱动

不要上来就去装驱动,首先要检测自己的驱动是不是符合要求的,打开终端,输入

nvidia-smi

检查是否有驱动,如果什么也没输出 说明没有驱动。

然后去官网下载符合GPU的驱动,按照你的型号,找到符合自己的驱动!

我的是师兄发给我的

a.打开终端,先删除旧的驱动:

sudo apt-get purge nvidia*

b. 禁用自带的 nouveau nvidia驱动

lsmod | grep nouveau 

如果已经没有任何显示说明不用禁用了,否则继续下面操作(正常情况下会显示很多内容)

sudo vim /etc/modprobe.d/blacklist-nouveau.conf #创建一个文件(注:按一下i键,表示现在进行内容插入)

注:好像也可以用下面这段(记不清当时用的啥了 捂脸)
sudo nano /etc/modprobe.d/blacklist-nouveau.conf

并添加如下内容:

blacklist nouveau
options nouveau modeset=0

注:退出可用两个命令中任意一个:

  • 按完esc键后,按shift+zz 或者
  • 按完esc键后,输入“:wq!”双引号里面的内容

再更新一下:

sudo update-initramfs –u

确认下Nouveau是已经被禁用:

lsmod | grep nouveau 

没有输出什么东西,说明已经成功关闭了。

c.关闭X-window服务:

先使用 cat /etc/X11/default-display-manager进行查看,我的显示是lightdm 所以下面用lightdm,每台机器可能情况不一样,

sudo service lightdm stop

所以这里写的lightdm,这里lightdm是你自己的显示管理器,也可能是gdm,kdm

安装:

cd  /home/01_install # 导到你的下载的驱动放在哪里的地址


sudo sh NVIDIA-Linux-x86_64-440.36.run --no-opengl-files

--no-opengl-files这里是参数 也可以不写好像 只写sudo sh NVIDIA-Linux-x86_64-440.36.run

!!!不出意外的,报错发生了 微笑脸

安装过程第一个报错1.1是

The NVIDIA GeForce 9400 GT GPU installed in this system is supported through

说明主机上还有一张9400GT的卡,想起来主机里还有一张9400的卡,关机 拔卡  重新进行上面的操作 ok 报错消失(短短一行话 忙活一小时)

附上关机命令
sudo shutdown 
(一分钟后关机)
(sudo shutdown -r   重启)

!!!意料之外,又报错了,这次报错1.2是

you appear to be running an x server please exit x before installing

完整地按照博主当时的操作进行操作的啊,怎么又又又又又又报错,然后又进行了上面的操作,还是不行

然后查看含有X的进程

ps aux | grep X

kill掉含有xserver的进程

然后再反复查看提示说明明关掉了xserver

sudo service lightdm status

于是看报错日志

vi /var/log/nvidia-installer.log

然后日志提示12XX端口进程正在占用xserver!!!!

这提示我们看日志是多么重要!!!提前看一眼报错日志也不至于忙活一个小时查xserver怎么解决!!

(日志中好像提示有进程占用Xserver 日志会提示是哪个进程端口)

然后干掉这个进程

sudo kill 1248
(1248是端口号)

然后再运行一遍安装

sudo sh NVIDIA-Linux-x86_64-440.36.run --no-opengl-files

要流泪了 终于提示安装步骤了

(1)accept

(2)contiuned install

后面默认yes安装就好了

启动显示器:(lightdm只是我的显示管理器,你可能是前面的说的gdm,然后我用的是服务器,所以没急着启用显示器)

sudo service lightdm start

然后检查是否安装成功

nvidia-smi

流泪了 终于安装好了

接下来可以安装cuda了

安装cuda9.0

首先去官网下载cuda9.0, 下载那个1.6G的.run文件,下载完毕就可以正式安装了。

进入下载目录,给文件添加运行权限:

chmod +x ./cuda_9.0.176_384.81_linux.run

运行安装

sudo ./cuda_9.0.176_384.81_linux.run

启动安装程序,一直按空格到最后(可以选择Ctrl+c跳过),不用担心,到99%的时候,输入accept接受条款 

注意:第一个提醒你是否安装驱动时,选“n”,其余都“y”(这一步师兄说很重要 第一个选的n!)

安装完毕后就需要添加环境了,这步很重要!!!

gedit ~/.bashrc
(博主写的 我用这个不是很好用 也可以用下面这个添加)

nano ~/.bashrc

把下面的内容添加到最后:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后,记得更新!!!

source ~/.bashrc

测试是否安装成功

 nvcc -V

然后cuda9.0就安好了。

安装cudnn7.0.5

(安完cuda9.0就十点了 然后怕以后自己用到 小心翼翼写下这个blog 等明天安完cudnn再继续写 希望没坑了)

注册一个账号,去官网上下载cudnn7.0.5。

 下载完直接解压,解压会出现一个cuda文件夹,里面有两个文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相应的目录里。 如果你就在local下解压的就不要移动了。只需要给文件加读权限即可!

 

sudo chmod a+x /usr/local/cuda/include/cudnn.h
sudo chmod a+x /usr/local/cuda/lib64/libcudnn*

 然后更新网络连接:

cd /usr/local/cuda/lib64/  
sudo chmod +r libcudnn.so.7.0.5  # 自己查看.so的版本  
sudo ln -sf libcudnn.so.7.0.5. libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig 

查看cudnn版本,检查是否安装好:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

出现下图说明安装成功

 

 

注意 :安装完cudnn之后 可能还要安装dilb 之类的包,如果直接安装会报错 各种报错,记得 ldconfig一下

sudo ldconfig /usr/local/cuda/lib64

 

 

 

 

---------------------------------------------------------------------

本文参考三篇文章

主要是第一篇:Ubuntu16.04下cuda9.0+cudnn7.0安装指南

其次:nvidia 驱动重装踩坑之路【解决】Ubuntu安装NVIDIA驱动(咨询NVIDIA工程师的解决方案)

转载请注明本文链接 及 第一篇链接。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值