ubuntu18.04.3 + nvidia430 + cuda10.1 + cudnn7.6.5.32(安装经验总结)

本人电脑环境rtx1660ti + gtx720m,因为要学习深度学习方面东西,需要配置相应环境。之前配置ubuntu16.04,因为内核版本太低,无法使用wifi(可能提升内核版本也可以,没做尝试)。为了能解决wifi使用问题,以及使用更新版本的系统,准备配置ubuntu18.04,配置好之后,不仅wifi链接解决了,感觉Ubuntu18.04无论从界面设置、功能以及用户体验方面,明显比Ubuntu16.04要好用很多啊。

一、确认版本对应关系

1. ubuntu版本对应内核版本

1)想查看内核版本,可以用命令 uname -r

root@zfy-N9x0TC:/home/zfy# uname -r
5.0.0-36-generic

 

想查看Ubuntu的版本,可以用命令

lsb_release -a

root@zfy-N9x0TC:/home/zfy# uname -r
5.0.0-36-generic
root@zfy-N9x0TC:/home/zfy# ^C
root@zfy-N9x0TC:/home/zfy# lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:    bionic

2). 查询当前gcc版本:

gcc -v 

root@zfy-N9x0TC:/home/zfy# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)

如果没有的话,会显示命令不存在,可以根据提示安装。

2). 查看glibc版本方法有两种:

第一种为:ldd –version;

root@zfy-N9x0TC:/home/zfy# ldd –version
ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27

第二种方法为:getconf GNU_LIBC_VERSION。

2. cuda与显卡驱动的版本对应关系:

二、准备cuda以及cudnn软件

1.nvidia显卡驱动通过联网下载;

2.cuda下载界面

3.cudnn下载界面

ubuntu18.04
https://www.cnblogs.com/FromATP/p/10854142.html

三.开始安装

1、安装Nivida显卡驱动

    1)禁用显卡驱动

查看nouveau驱动是否被禁用(https://blog.csdn.net/vslyu/article/details/80368564)

    nouveau驱动是Ubuntu系统上面自带的驱动,要想使用NVIDIA的显卡驱动,必须先禁用掉Ubuntu自带的该nouveau驱动,禁用的具体操作参看参见https://www.jianshu.com/p/5b708817f5d8。输入lsmod|grep nouveau命令进行查看确认即可:

$ lsmod | grep nouveau

如果有输出,说明还没禁用,进行下面操作。
$ sudo nano /etc/modprobe.d/blacklist.conf

方法1. 禁止集成的nouveau驱动(https://blog.csdn.net/tianrolin/article/details/52830422)

Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。

查看属性
$sudo ls -lh /etc/modprobe.d/blacklist.conf

修改属性
$sudo chmod 666 /etc/modprobe.d/blacklist.conf

用gedit编辑器打开
$sudo gedit /etc/modprobe.d/blacklist.conf

在该文件后添加一下几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

最下面的blacklist等语句显示nouveau驱动已被成功屏蔽掉。

将文件属性重新修改回去

zfy@zfy-N9x0TC:~$ sudo chmod 644 /etc/modprobe.d/blacklist.conf

更新系统:

$ sudo update-initramfs -u

重启系统, 再次查看集成显卡状态,lsmod | grep nouveau,无输出,则禁止成功.

zfy@zfy-N9x0TC:~$ lsmod | grep nouveau

方法2.禁用nouveau驱动(https://blog.csdn.net/qq_15933615/article/details/79600525)

终端中运行:

$ lsmod | grep nouveau

如果有输出,则代表nouveau正在运行, 需要我们手动禁掉nouveau。

在/etc/modprobe.d中创建文件blacklist-nouveau.conf

$ sudo touch /etc/modprobe.d/blacklist-nouveau.conf
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件中输入以下内容:

blacklist nouveau

options nouveau modeset=0

2)更新系统:

$ sudo update-initramfs -u

重启后查看nouveau是否已经成功禁用,无输出则为成功:

$ lsmod | grep nouveau

这时,我们已经成功禁用了nouveau,无输出

3)添加NVIDIA显卡驱动的ppa库

    通过ppa的方式安装私有的NVIDIA显卡驱动,注意不要从NVIDIA官网下载驱动进行安装(姑且选择这种方法进行安装,不明白为什么):

zfy@zfy-N9x0TC:~$ sudo add-apt-repository ppa:graphics-drivers/ppa

zfy@zfy-N9x0TC:~$ sudo apt-get update

5. 寻找合适的驱动版本(https://blog.csdn.net/h19930329/article/details/82534871)

ubuntu-drivers devices

zfy@zfy-N9x0TC:/home/zfy# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002191sv00001558sd0000951Dbc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-435 – distro non-free
driver   : nvidia-driver-440 – third-party free recommended
driver   : nvidia-driver-430 – distro non-free
driver   : xserver-xorg-video-nouveau – distro free builtin

6. 安装显卡驱动

sudo ubuntu-drivers autoinstall

或者选择自己想安装的版本

sudo apt install nvidia-430

安装完成后 查看显卡信息

nvidia-smi

zfy@zfy-N9x0TC:/home/zfy# nvidia-smi
Thu Nov 28 22:38:00 2019       
+—————————————————————————–+
| NVIDIA-SMI 440.26       Driver Version: 440.26       CUDA Version: 10.2     |
|——————————-+———————-+———————-+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166…  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   35C    P8     5W /  N/A |    221MiB /  5944MiB |      5%      Default |
+——————————-+———————-+———————-+
                                                                               
+—————————————————————————–+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1265      G   /usr/lib/xorg/Xorg                           121MiB |
|    0      1723      G   /usr/bin/gnome-shell                          95MiB |
|    0      4040      G   /usr/lib/firefox/firefox                       1MiB |
+—————————————————————————–+

2.安装cuda

1)首先需要安装lightdm,主要是用来关闭启动图形界面用,也可以用别的命令。

sudo apt-get install lightdm

 )

2)去官网下载:https://developer.nvidia.com/cuda-downloads

注意一定要下载runfile。

Ctrl-Alt+F1 进入命令行界面

cd Downloads

sudo service lightdm stop #禁用X服务
sudo /etc/init.d/lightdm stop #一样的命令

chmod +x ./cuda_10.1.105_418.39_linux.run  #给文件添加运行权限:

sudo sh cuda_10.1.105_418.39_linux.run –no-opengl-libs

该安装会进入选择界面,将nvidia驱动勾去除,选择install即可。

sudo /etc/init.d/lightdm start #启用服务

reboot

重启之后进入修改环境配置

sudo gedit ~/.bashrc

加入:

export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

执行:

source ~/.bashrc

3)测试安装是否成功:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

显示gpu信息,说明安装成功。

3. 配置cuDNN

1) 官网下载:https://developer.nvidia.com/rdp/cudnn-download

注册账号之后,下载对应版本的cudnn

下载完直接解压,解压会出现一个cuda文件夹,里面有两个文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相应的目录里。 如果你就在local下解压的就不要移动了。只需要给文件加读权限即可!

cd Downloads

2)解压

tar -xzvf cudnn-10.0-linux-x64-v7.6.3.30.tgz

 

3)把include/ 和 lib64/目录下的文件拷贝到cuda的安装目录下的include/ 和 lib64里面

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*
 

4)验证cudnn是否安装成功

查看cudnn版本
在终端输入

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  •  

如果出现版本信息,说明安装成功。

三、tensorflow、python对应版本

https://tensorflow.google.cn/install/source#gpu_support_2

四、linux下安装Anaconda

https://www.cnblogs.com/mypath/articles/7877493.html

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注