【DeepLearning】【环境配置】Ubuntu 安装 Nvidia Driver、CUDA、cuDNN

本文记录 Ubuntu 下部署 CUDA 环境的过程.
 
Ubuntu 16.04
GeForce GTX 1070
Nvidia Graphics Driver
CUDA 9.0
cuDNN 7.6.5

1. 安装 Nvidia 显卡驱动

查看显卡型号

$ lspci | grep -i nvidia

或者

$ sudo lshw -numeric -C display

或者

$ ubuntu-drivers devices

1.1 选择驱动版本

Nvidia 显卡驱动和 CUDA Toolkit 版本需要适应. 如果显卡驱动版本过低, CUDA Toolkit 将不支持.

点击 CUDA Toolkit and Corresponding Driver Versions 查看最新 CUDA Toolkit 和 Nvidia Driver 对应关系表.
下表截止到 2021年 8 月 2 日. Last updated August 2, 2021.

Table 3. CUDA Toolkit and Corresponding Driver Versions
CUDA ToolkitToolkit Driver Version
Linux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 11.4 Update 1>=470.57.02>=471.41
CUDA 11.4.0 GA>=470.42.01>=471.11
CUDA 11.3.1 Update 1>=465.19.01>=465.89
CUDA 11.3.0 GA>=465.19.01>=465.89
CUDA 11.2.2 Update 2>=460.32.03>=461.33
CUDA 11.2.1 Update 1>=460.32.03>=461.09
CUDA 11.2.0 GA>=460.27.03>=460.82
CUDA 11.1.1 Update 1>=455.32>=456.81
CUDA 11.1 GA>=455.23>=456.38
CUDA 11.0.3 Update 1>= 450.51.06>= 451.82
CUDA 11.0.2 GA>= 450.51.05>= 451.48
CUDA 11.0.1 RC>= 450.36.06>= 451.22
CUDA 10.2.89>= 440.33>= 441.22
CUDA 10.1 (10.1.105 general release, and updates)>= 418.39>= 418.96
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54
CUDA 8.0 (8.0.61 GA2)>= 375.26>= 376.51
CUDA 8.0 (8.0.44)>= 367.48>= 369.30
CUDA 7.5 (7.5.16)>= 352.31>= 353.66
CUDA 7.0 (7.0.28)>= 346.46>= 347.62

1.1 在线安装 (apt-get)

在线安装有三种方式:

  1. 自动安装推荐驱动版本
  2. 选择指定的驱动版本(官方源)
  3. 选择指定的驱动版本(PPA: Graphics Drivers)
1.1.1 自动安装推荐驱动版本

查看推荐显卡驱动版本.

$ ubuntu-drivers devices | grep recommended
driver   : nvidia-384 - distro non-free recommended

以下命令将自动安装上面查询的驱动版本 nvidia-384.

$ sudo ubuntu-drivers autoinstall
1.1.2 选择指定的驱动版本(官方源)

最高的驱动版本为 384 . 可支持 CUDA 最高版本为 9.0 .

$ sudo apt-get install nvidia-384-dev nvidia-modprobe
1.1.3 选择指定的驱动版本(PPA: Graphics Drivers)

添加 PPA

$ sudo add-apt-repository ppa:graphics-drivers/ppa

更新

$ sudo apt-get update

最高的驱动版本为 430 . 可支持 CUDA 最高版本为 10.1 .

$ sudo apt-get install nvidia-430-dev nvidia-modprobe
1.1.4 卸载 apt-get 安装的驱动
$ sudo apt-get --purge remove nvidia*

1.2 离线安装(runfile)

1.2.1 下载驱动程序

点击 Drivers 搜索下载所有版本驱动,或者点击 Download 搜索下载最新版本驱动.

我的显卡为 GeForce GTX 1070 .

选择驱动版本 NVIDIA-Linux-x86_64-390.59.run .

1.2.2 安装驱动程序

1. 禁用 nouveau 驱动
nouveau 为第三方开源显卡驱动。
打开配置文件,设置禁用。

$ sudo vim /etc/modprobe.d/blacklist.conf

在配置文件末尾添加两行。

blacklist nouveau
options nouveau modeset=0

然后执行

$ sudo update-initramfs -u

重新启动,并执行

$ lsmod | grep nouveau

如果没有屏幕输出,说明禁用 nouveau 成功。

2. 禁用X-Window服务

$ sudo service lightdm stop #这会关闭图形界面,但不用紧张

Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。

提示:在命令行输入:sudo service lightdm start ,然后按 Ctrl+Alt+F7 即可恢复到图形界面。

3. 命令行安装驱动
给驱动程序run文件赋予执行权限:

$ sudo chmod +x NVIDIA-Linux-x86_64-390.59.run

执行run文件:

$ sudo ./NVIDIA-Linux-x86_64-390.59.run -no-opengl-files
  • -no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为 ”login loop” 或者 ”stuck in login” .
  • -no-x-check:表示安装驱动时不检查X服务,非必需.
  • -no-nouveau-check:表示安装驱动时不检查 nouveau,非必需.
  • -Z, --disable-nouveau:禁用 nouveau. 此参数非必需,因为之前已经手动禁用了nouveau.
  • -A:查看更多高级选项.

必选参数解释:因为 NVIDIA 的驱动默认会安装 OpenGL,而 Ubuntu 的内核本身也有 OpenGL 且与 GUI 显示息息相关,一旦 NVIDIA 的驱动覆写了 OpenGL,在 GUI 需要动态链接 OpenGL 库的时候就引起问题.

之后,按照提示安装,成功后重启即可.

如果提示安装失败,不要急着重启电脑,重复以上步骤,多安装几次即可.

Driver测试:

$ nvidia-smi          #若列出GPU的信息列表,表示驱动安装成功
$ nvidia-settings     #若弹出设置对话框,亦表示驱动安装成功

2. 安装 CUDA 9.0

CUDA Toolkit Documentation v9.0.176

点击 CUDA Toolkit Downloads,打开最新 CUDA 下载页面.

点击 CUDA Toolkit Archive,打开全部 CUDA 下载页面.

点击 CUDA Toolkit 9.0 Downloads,打开 CUDA 9.0 下载页面.

2.1 deb 安装

下载 .deb 文件.
在这里插入图片描述

$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
$ sudo apt update
$ sudo apt install cuda-9.0

安装补丁程序

$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update_1.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604-9-0-176-local-patch-4_1.0-1_amd64.deb

添加环境变量

vim ~/.bashrc

加入下列内容

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

激活设置

source ~/.bashrc

验证安装

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

2.2 runfile 安装

下载 .run 文件.
在这里插入图片描述

sudo  ./cuda_9.0.176_384.81_linux.run --no-opengl-libs
  • --no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files。
  • --uninstall (deprecated):用于卸载CUDA Driver(已废弃)。
  • --toolkit:表示只安装CUDA Toolkit,不安装Driver和Samples。
  • --help:查看更多高级选项。

阅读安装说明 Preface
回车键翻页,空格键快速翻页。
之后,按照提示安装即可。我依次选择了:

  1. accept #同意安装
  2. n #不安装Driver,因为已安装最新驱动
  3. y #安装CUDA Toolkit
  4. <Enter> #安装到默认目录
  5. y #创建安装目录的软链接
  6. n #不复制Samples,因为在安装目录下有/samples

CUDA Sample测试:

编译并测试设备 deviceQuery:

$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

#编译并测试带宽 bandwidthTest:

$ cd ../bandwidthTest
$ sudo make
$ ./bandwidthTest

如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。

安装 CUDA 9.0 官方补丁

$ sudo ./cuda_9.0.176.1_linux.run
$ sudo ./cuda_9.0.176.2_linux.run
$ sudo ./cuda_9.0.176.3_linux.run
$ sudo ./cuda_9.0.176.4_linux.run

3. 安装 cuDNN v7.6.5

cuDNN Installation Guide

NVIDIA Developer Program注册,并登录。
下载最新的 cuDNN Library
cuDNN v7.6.5 (November 5th, 2019), for CUDA 9.0, for Linux cudnn-9.0-linux-x64-v7.6.5.32.tgz
在下载目录下解压缩 cuDNN package

$ tar -xzvf cudnn-9.0-linux-x64-v7.6.5.32.tgz

将下列文件复制到 CUDA Toolkit 目录

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

并修改权限

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

设置环境变量,这一步非常重要,不能省略
打开~/.bashrc

vim ~/.bashrc

添加下列两行

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda

保存关闭
使当前用户环境变量生效

source ~/.bashrc

完成.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值