Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第1张图片

 

 

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第2张图片

零、安装环境

  1. 操作系统:Ubuntu 16.04 LTS (cat /proc/version 命令查看系统信息)
  2. 显卡:NVIDIA Corporation GP102 [TITAN Xp]   (lspci | grep -i vga 命令查看显卡型号)

 

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第3张图片

 

一、显卡驱动安装

0、显卡驱动版本确定

不同版本的CUDA要求不同的NVIDIA驱动版本,同时显卡驱动版本要不低于CUDA的安装版本,参见官网列表,具体的对照关系如下:

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第4张图片

 

由于本人想要安装cuda10.2,所以驱动版本需要≥440.33,所以我选择最新版的总没错。 

1、打开NVIDIA驱动官网,选择驱动程序,下载:

 

lspci | grep -i vga 命令查看显卡型号)

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第5张图片

2、卸载旧驱动

如果是新电脑,电脑里不会有旧驱动,这一步可以不执行。

sudo apt-get remove --purge nvidia*

3、禁用nouveau驱动

这里主要讲一下禁用nouveau的方法,因为折腾了蛮久,用了网上蛮多方法没有成功,最后使用第三种方法才成功:

方法一:更改blacklist(没成功)

(0) 备份boot文件

(1) 更改conf文件

打开文件

sudo gedit /etc/modprobe.d/blacklist.conf

在文件末尾添加以下几行命令 :

blacklist nouveau

blacklist rivafb

blacklist rivatv

blacklist nvidiafb

options nouveau modeset=0

(2) 更新Linux系统内核

sudo update-initramfs -u

 

(3)  重启并检查Security Boot状态以及nouveau驱动是否成功被禁

(1)一般情况下,在安装Linux系统时,就已经把Security Boot的状态改成Disable了,可以再次检查一下。

(2)sudo reboot 重启电脑后,打开终端输入命令以查看nouveau驱动是否成功被禁,命令无返回则是成功禁用。

lsmod | grep nouveau

遗憾的是我运行后仍有输出内容,说明没有禁用成功。

方法二、移除nouveau.ko(没成功)

(1)打开/lib/modules/目录

 

sudo find -name nouveau*

(2)然后将查找到的ko文件重命名

sudo mv ./4.15.0-45-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko ./4.15.0-45-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bkp

sudo mv ./4.15.0-132-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko ./4.15.0-132-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bkp

(3)更新Linux系统内核

sudo update-initramfs -u

(4)重启并检查Security Boot状态以及nouveau驱动是否成功被禁

(1)一般情况下,在安装Linux系统时,就已经把Security Boot的状态改成Disable了,可以再次检查一下。

(2)sudo reboot 重启电脑后,打开终端输入命令以查看nouveau驱动是否成功被禁,命令无返回则是成功禁用。

lsmod | grep nouveau

遗憾的是我运行后仍有输出内容,说明没有禁用成功。

方法三、配置grub禁用启动项(成功)

鸣谢:《NVIDIA驱动安装之禁用nouveau》

《如何将内核模块列入黑名单? 》

(1)增加内核参数禁用

sudo nano /etc/default/grub

在末尾增加 modprobe.blacklist=nouveau
GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=nouveau"

modprobe 用于向Linux Kernel添加 或 移除 kernel modules。 kernel modules以.ko作为扩展名。这里是增加了一个黑名单,在grub时禁用掉该模块。

(2)重新新生成配置

sudo update-grub2

(3)更新Linux系统内核

sudo update-initramfs -u

(4)重启及nouveau驱动是否成功被禁

sudo reboot 重启电脑后,发现开机时界面是这样,并保持了挺长时间,这时候莫动,唯一的就是等待

等加载出图形界面后,即可登进系统,打开终端输入命令以查看nouveau驱动是否成功被禁,命令无返回则是成功禁用。

lsmod | grep nouveau

4、 禁用图形化界面(非必要

部分工程师喜欢用关闭图形界面,在命令行中安装显卡驱动,所以此步非必要(反正我未使用):

sudo init 3

 或者输入

sudo service lightdm stop

5、安装驱动.run文件

cd  驱动放置文件夹
sudo sh NVIDIA-Linux-x86_64-460.32.03.run -no-x-check -no-nouveau-check -no-opengl-files

参数解释:

  • –no-x-check:表示安装驱动时不检查X服务(图形接口服务),如果没有关闭图形界面则必须加上,否则反之。
  • –no-nouveau-check:表示安装驱动时不检查nouveau驱动,这也是非必需的,因为我们已经在前面步骤中禁用驱动。
  • –no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。 

安装进行时的选项 :

选项 选择
The distribution-provided pre-install script failed!  Are you sure you want to continue? Continue
Unable to find a suitable destination to install 32-bit compatibility libraries. Your system may not be set up for 32-bit compatibility. 32-bit compatibility files will not be installed; if you wish to install them, re-run the installation and set a valid directory with the --compat32-libdir option. OK
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  Yes

Your X configuration file has been successfully updated.  Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 430.40) is now complete.

OK

6、测试是否安装驱动成功

 在命令行中输入:

nvidia-smi

如出现以下画面,即证明已正确安装:

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第6张图片

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第7张图片

二、cuda10.2 安装

(1)下载

去官网下载CUDA,选Ubuntu16.04对应的 runfile(local) 文件,默认下载到Home目录下:
CUDA官网下载地址 

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第8张图片

(2)安装

在执行安装命令时:

sudo sh cuda_10.2.89_440.33.01_linux.run

在出现的提示中选择continue和键入“accept”,直到出现下图:

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第9张图片

由于nvidia的显卡驱动刚才安装过了,那么只需要移动到Driver,按enter键,将"[X]"中的去掉即是不选择,然后移动到Install再回车,等待后出现下图表示安装成功:

 Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第10张图片

(3)添加环境变量(两种方式)

方法I、修改home目录下的.bashrc文件,只针对当前用户

sudo gedit ~/.bashrc

在文件末尾添加:

export PATH="/usr/local/cuda-10.2/bin:$PATH"

export LD_LIBRARY_PATH="/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH"

使其生效:

source ~/.bashrc

方法II、修改profile文件,针对所有用户

sudo gedit /etc/profile # 修改/etc/profile文件

文件末尾增加以下两行代码

export PATH="/usr/local/cuda-10.2/bin:$PATH"

export LD_LIBRARY_PATH="/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH"

使其生效:

source /etc/profile

(4)验证安装成功

输入命令nvcc -V,显示版本信息即安装成功。

 

 

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第11张图片

三、cudnn8.0 安装

(1)下载

下载地址:https://developer.nvidia.com/cudnn(需要注册账号才能下载)

下载后文件为:

 

(2)安装

执行命令安装3个库文件(先runtime、再developer、最后samples)

sudo dpkg -i libcudnn8_8.0.3.33-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.3.33-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.3.33-1+cuda10.2_amd64.deb

(3)验证是否成功

方法I、样例验证

验证cuDNN在Linux上是否安装成功。为了验证cuDNN已经安装并正确运行,需要编译位于/usr/src/cudnn_samples_v8目录下的mnistCUDNN样例:

1)复制cuDNN samples到home目录下
$ cp -r /usr/src/cudnn_samples_v7 /$HOME
 
2) 进入home目录
$ cd $HOME/cudnn_samples_v7/mnistCUDNN/
 
3) 编译mnistCUDNN
$ sudo make clean
$ sudo make
 
4)运行mnistCUDNN
$ sudo ./mnistCUDNN

(运行需要一段时间)如果出现Test passed! 表明cuDNN已安装成功。 

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第12张图片

方法II、安装完 Anaconda3 及 torch1.7.1 后再进行验证


# !/usr/bin/python
#-*- coding: UTF-8 -*-
 
import torch
# 正常没有输出
 
a = torch.tensor(1.)
# 正常没有输出
 
from torch.backends import cudnn
# 正常没有输出
 
cudnn.is_available()
# 正常返回True
 
cudnn.is_acceptable(a.cuda())

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第13张图片

四、Anaconda3安装

(1)版本确定

由于本人想安装pytorch,根据torch官网信息想选择python3.6,以此选择Anaconda3版本为Anaconda3-5.2.0-Linux-x86_64.sh

(2)下载

清华大学开源软件镜像站下载

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第14张图片

下载后文件为:

(2)安装

1)打开terminal

2)打开下载文件的位置:

cd Downloads/

3)运行 .sh 文件:

bash Anaconda3-5.2.0-Linux-x86_64.sh

4)进入注册信息页面,输入yes

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第15张图片

5)阅读注册信息,然后输入yes;查看文件即将安装的位置,按enter,即可安装;

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第16张图片

6)进入安装过程:

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第17张图片

7)安装完成后,收到加入环境变量的提示信息,输入yes

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第18张图片

8)看到以下信息说明已经安装完成。

Ubuntu16.04下安装Nvidia驱动+cuda10.2 + cuDNN8.0.3.33-1+Anaconda3_第19张图片
9)提示信息“Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]”,输入no

10)环境变量配置

sudo gedit ~/.bashrc
#在末尾添加以下命令:

export PATH="/home/pci/anaconda3/bin:$PATH"

使其生效:

source ~/.bashrc

 

 

 

 

 

 

你可能感兴趣的:(工具)