Ubuntu16.04 安装显卡驱动 + CUDA + cudnn

系统环境: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是已经被你干掉,修改后需要重启系统。确认下Nouveau是已经被你干掉,
使用命令:lsmod | grep nouveau
如果nouveau禁用成功该命令执行后没有显示,否则该命令后会显示nouveau 的相关信息(可以禁用之前用该命令查看nouveau的相关信息)。

2、在NVIDIA 官网根据条件选择下载最新的驱动即可

下载地址: http://www.geforce.cn/drivers

(将驱动复制到路径/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

出现下图所示内容,表示安装成功


 

下面的命令查看显卡驱动

cat /proc/driver/nvidia/version

4、可能出现的问题
(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给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt

根据自己的机器下载最新版的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安装后配置
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

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文件

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

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-download
cudnn历史版本: https://developer.nvidia.com/rdp/cudnn-archive
cd到下载的文件目录下,解压:

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz 

解压后,在当前目录下产生一个cuda目录

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章