系统环境:Ubuntu16.04
显卡:GTX2080Ti
一、安装显卡驱动
1、先禁用自带的 nouveau nvidia驱动 (important!)
sudo apt-get purge nvidia* //卸载原有的nvidia驱动,新系统不需要
#创建一个文件
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
并添加如下内容:
blacklist nouveau
options nouveau modeset=0
或者
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
用下面命令,更新一下文件
sudo update-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉
使用命令:lsmod | grep nouveau
如果nouveau禁用成功该命令执行后没有显示,否则该命令后会显示nouveau 的相关信息(可以禁用之前用该命令查看nouveau的相关信息)。
2、在NVIDIA 官网根据条件选择下载最新的驱动即可
下载地址: http://www.geforce.cn/drivers
NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA
(将驱动复制到路径/home/下,方便在非图形化界面安装时的命令输入)
3.开始安装
先按Ctrl + Alt + F1到控制台,首先输入用户名和密码登录,然后关闭当前图形环境,通过下面的命令。
sudo service lightdm stop
安装驱动程序
sudo sh NVIDIA-Linux-x86_64-xxx.run //sh--是显示安装过程
然后根据提示完成驱动安装。
安装完成后,重新启动图形环境
sudo service lightdm start
重启系统后,执行下面的命令查看驱动的安装状态
nvidia-smi
nvidia-settings
出现下图所示内容,表示安装成功
4、查看显卡驱动版本号
cat /proc/driver/nvidia/version
5、可能出现的问题
(1) 、Ubuntu 系统循环登录问题,可能原因是驱动安装失败。
解决办法:重新进入到控制台界面,关闭图形显示后卸载刚才安装的驱动程序
命令:
sudo sh NVIDIA-Linux-x86_64-xxx.run --uninstall
(2) 、显卡驱动安装成功,各个测试命令都没问题,但是,Ubuntu显示不正常。
原因是显卡使用了转接头(自己因为这个问题折腾了两天(我是显卡用DVI转VGA后连接的显示器)),显卡驱动反复重装,通过命令显示安装成功,但是就是显示有问题!!!这是坑啊),连接显示器的视频线用直连线就可以。
二、安装CUDA
1、下载CUDA
在英伟达官网(最新版): https://developer.nvidia.com/cuda-downloads
CUDA历史版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
Installation Guide Linux :: CUDA Toolkit Documentation
根据自己的机器下载最新版的cuda,下载的是runfile(local)文件。
2、安装cuda8.0
1、在你的用户登录界面按ctrl+alt+F1进入tty模式,关闭图形界面
sudo service lightdm stop
cd切换到下载的文件目录下进行安装:
sudo sh cuda_8.0.44_linux.run
启动安装程序,一直按空格到最后。
注意:执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia驱动时,一定要选择否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
此处一定选择否
因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。
大概有以下选项
输入accept接受条款
输入n不安装nvidia图像驱动,之前已经安装过了
输入y安装cuda 8.0工具
回车确认cuda默认安装路径:/usr/local/cuda-8.0
输入y安装CUDA 8.0 Samples,以便后面测试
回车确认CUDA 8.0 Samples默认安装路径,该安装路径测试完可以删除
安装成功后会出现如下界面:
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /opt/temp//cuda_install_6583.log
2、cuda安装后配置
CUDA安装后默认在/usr/local/目录下产生,cuda,cuda-8.0 两个文件夹,如下如所示
解释:
cuda ----是软链接,指向的是cuda-8.0,因此对cuda的操作实际上就是对cuda-8.0文件夹的操作,
下面的操作中的*/cuda-8.0/* 等操作其实可以换成 /cuda/
cuda-8.0 --是cuda实际安装的文件(认为本次按照的是cuda-8.0)
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
打开~/.bashrc文件
sudo gedit ~/.bashrc
将以下内容写入到~/.bashrc尾部:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
关闭文件,使环境变量生效
source ~/.bashrc
安装完成后验证
nvcc -V,
命令验证是否安装成功,若出现以下信息则表示安装成功,下图可以显示cuda的版本号
cat /usr/local/cuda/version.txt #方法1
nvcc -V #方法2
3、测试cuda的Samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make //该命令首次执行即可
sudo ./deviceQuery
执行完之后出现下图,如果显示的是一些关于GPU的信息,则说明安装成功了。
4、cuda 卸载
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
此方法同样适用于其他版本的CUDA卸载
运行完成之后,使用下面的命令删除残余
sudo rm -r /usr/local/cuda-8.0
三、安装cudnn
下载cudnn相应版本.
下载地址:https://developer.nvidia.com/rdp/cudnn-downloadcudnn历史版本: https://developer.nvidia.com/rdp/cudnn-archive
官方安装指南: Installation Guide :: NVIDIA Deep Learning cuDNN Documentation
在下载安装任一个版本的cudnn时,同一平台(如 linux),总会给我们两种安装方式,三种下载选择:tgz format(library), deb format(runtime,develop)
,他们的区别如下:
在安装cudnn时,同一个平台会有三种模式:tgz format(library), deb format(runtime,develop)
,他们之间的区别如下:
① download the tgz format:
为Linux选择CUDNN库
此安装相对简单,只需下载,解压缩,将相应的文件复制到指定的目录,并授予权限。
② download deb format:Runtime
andDeveloper
version区别:Developer library
包含在Ubuntu系统上开发深度学习所需的cudnn头文件。 如果您不需要开发和编译任何深度学习程序,只需使用它们来运行某些深度。 要了解应用程序,只需下载Runtime library
就足够了。
cd到下载的文件目录下,解压:
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
解压后,在当前目录下产生一个cuda目录:
(cuda-8.0/ cuda-11.0 等目录是在安装cuda时候在 /usr/local/ 目录下产生的 )
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda-8.0/include/ #复制头文件
cd ../lib64 #打开lib64目录
sudo cp lib* /usr/local/cuda-8.0/lib64/ #复制库文件
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn* #给所有用户增加这些文件的读权限
建立软连接,在终端输入
cd /usr/local/cuda-8.0/lib64/ #进入到lib64目录进行操做
sudo rm -rf libcudnn.so libcudnn.so.6 #删除原有动态文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成软衔接
sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接
注意此处的 libcudnn.so.6.0.21、libcudnn.so.6 都是根据cudnn解压之后的文件定的,我用的是cudnn-8.0-linux-x64-v6 的所以此处是libcudnn.so.6.0.21、libcudnn.so.6
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2