设备要求

  • 系统:Ubuntu16.04

  • 显卡:GTX 1070

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 驱动:nvidia系列,显卡驱动的版本必须大于等于cuda的sh文件名里面的版本号

    驱动可从 此处 下载,我已经整理好了

检查安装驱动

nvidia-smi

显示如下信息
ubuntu16.04在GTX1070环境下安装 cuda9.1 随笔 第1张
如果完全无反应或者驱动型号小于cuda的sh文件名里面的版本号则需要重新安装驱动。
首先去官网下载符合GPU的驱动。

1、删除旧的驱动

sudo apt-get purge nvidia*

2、禁用自带的nouveau nvidia驱动

看下nouveau 是否已经被禁用

lsmod | grep nouveau

如果没有任何显示说明表示已经被禁用,否则继续下面操作
修改/etc/modprobe.d/blacklist.conf,添加以下内容

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

新建blacklist-nouveau.conf文件,

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

并添加如下内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

再更新一下:

sudo update-initramfs –u

确认下Nouveau是已经被禁用:

lsmod | grep nouveau 

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

3、关闭X-window服务

Ctrl+Alt+F1切换到无桌面命令终端:这里lightdm是你自己的显示管理器,也可能是gdm,kdm,到底是哪一个可以使用 cat /etc/X11/default-display-manager进行查看,然后修改,并关闭显示管理器。

sudo service lightdm stop

此时正式进入终端界面:

Login:用户账号
Password:用户密码

安装,注意:这里的参数(–no-opengl-files)很关键:

cd  /home/xxx/tmp # 导到你的下载的驱动放在哪里的地址
sudo sh NVIDIA-Linux-x86_64-418.56.run --no-opengl-files

按照如下步骤安装:

(1)accept

(2)contiuned install

后面默认yes安装就好了

启动显示器:(lightdm只是我的显示管理器,你可能是前面的说的gdm)

sudo service lightdm start

然后按Ctrl+Alt+F7 进入到桌面进行操作

检查是否成功

nvidia-smi

这里会显示显卡信息
ubuntu16.04在GTX1070环境下安装 cuda9.1 随笔 第2张

驱动已经正常安装了,可以进行下面操作了。

安装cuda9.1

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

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

chmod +x ./cuda_9.1.85_387.26_linux.run

运行安装

sudo ./cuda_9.1.85_387.26_linux.run

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

注意:第一个提醒你是否安装驱动时,选“n”,其余都“y”

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

gedit ~/.bashrc

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

export CUDA_HOME=/usr/local/cuda

export PATH=$PATH:$CUDA_HOME/bin

export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

测试是否安装成功

nvcc -V

如果你看到以下显示,cuda9.1 已经装好了!

ubuntu16.04在GTX1070环境下安装 cuda9.1 随笔 第3张

安装cudnn7.x

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

选择适配Linux的,类似 cuDNN v7.0.5 Library for Linux

下载完直接解压,解压会出现一个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

如果显示类似如下信息,表示安装成功

ubuntu16.04在GTX1070环境下安装 cuda9.1 随笔 第4张

卸载CUDA以及CUDNN

(1)卸载CUDA

sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl 

(2)卸载CUDNN,删除原来的cudnn文件:

sudo rm -rf /usr/local/cuda-9.0/lib64/libcudnn*
sudo rm -rf /usr/local/cuda-9.0/include/cudnn.h

参考:

[1] Ubuntu16.04下cuda9.0+cudnn7.0安装指南
[2] Ubuntu16.04 + GTX1080 解决桌面重复登录问题

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄