您的位置:首页 > 其它

Ubuntu 16.04 单显卡安装Nvidia驱动+GTX750显卡安装CUDA 9.1+cuDNN 7.1.3

2018-09-20 16:55 686 查看

1.移除原有nvidia驱动

$ sudo apt-get remove --purge nvidia*
2.禁用nouveau驱动

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

// 在文件末尾添加:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv

blacklist nvidiafb

$ sudo update-initramfs -u
3.进入字符界面:ctrl+alt+F1
4.开始安装

[1] 关闭桌面系统服务

*

如果是uni 4000 ty桌面执行第一条,如果是gnome桌面执行第二条

$ sudo systemctl stop lightgdm.service
$ sudo systemctl stop gdm.service
[2] 使用以下命令安装nvidia的官方闭源驱动,这里使用runfile安装

*

一切默认即可
*
驱动自行下载,按照显卡型号选择即可

$ sudo ./NVIDIA-Linux-x86_64-390.48.run --no-opengl-files
*
[3] 重启系统

[4] 执行命令:nvidia-smi

5.安装CUDA 9.1,这里使用runfile安装
[1] 进入字符界面:ctrl+alt+F1
[2] 关闭图形界面:同上
[3] 执行以下命令:

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

$ sudo ./cuda_9.1.85_387.26_linux.run
[4] 关于安装选项:在安装开始时会让你阅读一份协议书,按住Enter键,直到读完

*

Do you accept the previously read EULA? accept
*
Install NVIDIA Accelerated Graphics Driver for Linux-X86_64 xxx.xxx? no
*
Install the CUDA 9.1 Toolkit? yes
*
Enter Toolkit Location,这个直接按Enter即可
*
Do you want to install a symbolic link at /usr/local/cuda? yes
*
Install the CUDA 9.1 Samples? yes
*
Enter CUDA Samples Location,这个直接按Enter即可
*
注意如果:在安装显卡驱动之前完成了 SLAM 和 ROS 的配置,就不会出现缺失库的情况

如果出现missing recommended libraries,执行以下命令即可

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
[6] 重启图形界面:将上面的命令中 stop 换为 restart 即可,登录系统

*

此时如果没有出现循环登录,则基本安装成功

[7] 重启系统
[8] 输入命令:

*

如果没有出现:/dev/nvidia-uvm 则为安装不全

$ ls /dev/nvidia*

[9] 针对第8步中安装不全的情况:

*

认真阅读官方文档:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
*
编辑开机启动文件:/etc/rc.local,在文件的#!/bin/sh(注意要删掉-e)和exit 0 之间添加如下内容:

/sbin/modprobe nvidia

if [ “$?” -eq 0 ]; then

Count the number of NVIDIA controllers found.

NVDEVS=

lspci | grep -i NVIDIA

N3D=
echo "$NVDEVS" | grep "3D controller" | wc -l

NVGA=
echo "$NVDEVS" | grep "VGA compatible controller" | wc -l

N=

expr $N3D + $NVGA - 1

for i in
seq 0 $N
; do
mknod -m 666 /dev/nvidia$i c 195 $i
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

/sbin/modprobe nvidia-uvm

if [ “$?” -eq 0 ]; then

Find out the major device number used by the nvidia-uvm driver

D=

grep nvidia-uvm /proc/devices | awk '{print $1}'

mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
[10] 重启系统,再次执行命令:
$ ls /dev/nvidia*

[11] 添加环境变量,并重启系统:

$ sudo vim /etc/profile

// 在所有环境变量之后添加如下内容:

export PATH=/usr/local/cuda-9.1/bin:PATHexportLDLIBRARYPATH=/usr/local/cuda−9.1/lib64:PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:PATHexportLDL​IBRARYP​ATH=/usr/local/cuda−9.1/lib64:LD_LIBRARY_PATH
[12] 验证安装:

*

验证驱动:$ cat /proc/driver/nvidia/version
*
验证CUDA Toolkit:$ nvcc -V
*
编译测试:使用Sample,正常编译都会成功,一般时间为30分钟

$ cd NVIDIA_CUDA-9.1_Samples

$ make
*
运行编译的程序:

$ cd bin/x86_64/linux/release/

$ ./deviceQuery

最后出现:Result=Pass 表示成功

*

运行:$ ./bandwidthTest,成功的判断同上

6.使用deb包安装cuDNN 7.1.3

*

下载需要注册成为nvidia的开发者
*
注意版本对应
*
可以使用的安装方式有:tgz,deb
*
Sample目录为:/usr/src/cudnn_samples_v7/
*
安装包:
*
libcudnn7_7.1.3.16-1+cuda9.1_amd64.deb
*
libcudnn7-dev_7.1.3.16-1+cuda9.1_amd64.deb
*
libcudnn7-doc_7.1.3.16-1+cuda9.1_amd64.deb

$ sudo dpkg -i *.deb
*
编译测试:最后会出现Test passed!就表示成功

$ cp -r /usr/src/cudnn_samples_v7/ ~/
$ cd ~/cudnn_samples_v7/mnistCUDNN

$ make clean && make

$ ./mnistCUDNN

*

如果出现:./mnistCUDNN: error while loading shared libraries: libcudart.so.9.1: cannot open shared object file: No such file or directory,是因为库没有正确链接

$ sudo cp /usr/local/cuda-9.1/lib64/libcudart.so.9.1 /usr/local/lib/libcudart.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcublas.so.9.1 /usr/local/lib/libcublas.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcurand.so.9.1 /usr/local/lib/libcurabd.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐