ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6

时间:2023-02-14 17:21:15

Nvidia显卡驱动安装


在ubuntu搜索框输入 软件更新,打开 "软件和更新" 对话框,在 附加驱动里选择系统检测到的Nvidia驱动,应用更改,重启系统:

ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6


安装完成之后查看GPU驱动版本以及相关信息:

nvidia-smi
ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6


或者使用另一个指令也可以查看GPU驱动版本:

cat /proc/driver/nvidia/version
ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6



CUDA 8.0 安装


1. 检查GPU是否可以装CUDA

lspci | grep -i nvidia

输出:

01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)

这条指令检查GPU是不是nvidia的,是不是太老。

CUDA支持的GPU型号见  https://developer.nvidia.com/cuda-gpus
CUDA不支持的GPU型号见  https://developer.nvidia.com/cuda-legacy-gpus

2. 检查linux内核版本

uname -m && cat /etc/*release
输出:
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
x86_64 表示当前系统是64位的。

3. gcc降级

查看gcc版本:

gcc --version
输出:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

ubuntu的gcc编译器是5.4.0,据说cuda8.0不支持5.0以上的编译器,没有验证,保险起见把编译器版本降到4.9:

sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++


4. 检查系统内核版本并安装相应的kernels header和开发包

uname -r
sudo apt-get install linux-headers-$(uname -r)
一般情况下是已经安装好了的。

5. 下载 CUDA 8.0 并安装


CUDA 8.0 安装包官网下载地址: https://developer.nvidia.com/cuda-80-download-archive
这里选择 deb(local) 下载。
百度网盘下载地址: https://pan.baidu.com/s/1bxKrJdwBysF17M2EVwzj2Q


安装:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

6. 添加环境变量


CUDA默认安装路径是 /usr/local/cuda-8.0 ,或者说CUDA的安装路径是 /usr/local/cuda(如果有的话),“/usr/local/cuda”是一个符号链接文件,指向 “/usr/local/cuda-8.0”文件夹。使用 ls -l 指令可以查看文件的链接关系:

ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6


添加环境变量

cd ~
gedit .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


7. 检查CUDA是否成功安装


nvcc -V

输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

 

cuDNN安装


1. 下载地址

官方下载地址: https://developer.nvidia.com/cudnn

百度网盘地址: https://pan.baidu.com/s/1bxKrJdwBysF17M2EVwzj2Q


2. 添加环境变量

解压 cudnn-8.0-linux-x64-v6.0.tgz 到路径 /urs/local/cudNN6 下(解压路径自定),并把解压路径添加到环境变量。

cd ~

gedit .bashrc

在文件末尾加入环境变量:

export LD_LIBRARY_PATH=/usr/local/cudNN6/cuda/lib64:$LD_LIBRARY_PATH

使生效:

source .bashrc

3. 拷贝 cudnn.h 头文件

需要拷贝 cuDNN 解压出来的文件 cuda 下的 include 文件夹下的cudnn.h 到 /usr/local/cuda/include (或:/usr/local/cuda-8.0)下 , /usr/local/cuda/include 是 cuda 安装位置。

sudo cp /urs/local/cudNN/cuda/include/cudnn.h /usr/local/cuda/include/cudnn.h

重置文件读写权限:

sudo chmod a+r /usr/local/cuda/include/cudnn.h
cuDNN配置完成。