赞
踩
本文记录 Ubuntu 下部署 CUDA 环境的过程.
Ubuntu 16.04
GeForce GTX 1070
Nvidia Graphics Driver
CUDA 9.0
cuDNN 7.6.5
查看显卡型号
$ lspci | grep -i nvidia
或者
$ sudo lshw -numeric -C display
或者
$ ubuntu-drivers devices
Nvidia 显卡驱动和 CUDA Toolkit 版本需要适应. 如果显卡驱动版本过低, CUDA Toolkit 将不支持.
点击 CUDA Toolkit and Corresponding Driver Versions 查看最新 CUDA Toolkit 和 Nvidia Driver 对应关系表.
下表截止到 2021年 8 月 2 日. Last updated August 2, 2021.
CUDA Toolkit | Toolkit Driver Version | |
---|---|---|
Linux x86_64 Driver Version | Windows 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 |
在线安装有三种方式:
查看推荐显卡驱动版本.
$ ubuntu-drivers devices | grep recommended
driver : nvidia-384 - distro non-free recommended
以下命令将自动安装上面查询的驱动版本 nvidia-384
.
$ sudo ubuntu-drivers autoinstall
最高的驱动版本为 384
. 可支持 CUDA 最高版本为 9.0
.
$ sudo apt-get install nvidia-384-dev nvidia-modprobe
添加 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
$ sudo apt-get --purge remove nvidia*
点击 Drivers 搜索下载所有版本驱动,或者点击 Download 搜索下载最新版本驱动.
我的显卡为 GeForce GTX 1070
.
选择驱动版本 NVIDIA-Linux-x86_64-390.59.run
.
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 #若弹出设置对话框,亦表示驱动安装成功
CUDA Toolkit Documentation v9.0.176
点击 CUDA Toolkit Downloads,打开最新 CUDA 下载页面.
点击 CUDA Toolkit Archive,打开全部 CUDA 下载页面.
点击 CUDA Toolkit 9.0 Downloads,打开 CUDA 9.0 下载页面.
下载 .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
下载 .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
回车键翻页,空格键快速翻页。
之后,按照提示安装即可。我依次选择了:
accept
#同意安装n
#不安装Driver,因为已安装最新驱动y
#安装CUDA Toolkit<Enter>
#安装到默认目录y
#创建安装目录的软链接n
#不复制Samples,因为在安装目录下有/samplesCUDA 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
在 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
完成.
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。