深度学习之NVIDIA driver与CUDA与CUDNN平台搭建(一)
本设计建议使用以下及更高的硬件配置:
CPU:Intel Xeon(R) E5-2678 v3 @2.5GHz
GPU:NVIDIA GTX 1060 6G
Ubuntu 16.04 LTS
准备工作:
更换国内源,安装依赖包速度会有很明显的提高:
(1)备份原来的源:
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
(2)更换源:
sudo gedit /etc/apt/sources.list
(3)输入内容并保存:
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
更新:
sudo apt-get update
安装NVIDIA驱动:
(1)验证相关信息
1) 验证自己的电脑是否有一个可以支持CUDA的GPU:
lspci | grep -i nvidia
(虚拟机上无法连接显卡,需在硬盘内安装Ubuntu系统)
2) 验证自己的Linux版本是否支持 CUDA(Ubuntu 16.04没问题):
uname -m && cat /etc/*release
3) 验证系统是否安装了gcc及其版本:
gcc --version
4) 验证系统是否安装了kernel header和 package development:
a、查看正在运行的系统内核版本:在终端中输入:
uname -r
b、在终端中输入:
sudo apt-get install linux-headers-$(uname -r)
安装对应kernel版本的kernel header和package development
结果显示:“升级了 0 个软件包,新安装了 0 个软件包...”表示系统里已经有了,不用重复安装。
若以上各项验证检查均满足要求,便可进行下面的正式安装过程。如果没有满足要求的话,可以参考cuda的官方文档,里面有详细的针对每个问题的解决方案。
由于安装系统版本多种多样,安装途中可能会报有缺少依赖库等相关问题,该类问题比较简单可自行解决。
(2)下载NVIDIA驱动
在NVIDIA官网https://www.geforce.cn/drivers找到对应显卡版本的驱动(比如我的是GTX 1060 6G),在选择驱动型号前先进行一系列系统环境版本的查看
(3)禁止集成的nouveau驱动:
修改属性:
sudo chmod 666 /etc/modprobe.d/blacklist.conf
(4)使用gedit编辑黑名单列表:
sudo gedit /etc/modprobe.d/blacklist.conf
在黑名单添加如下内容,禁用相关显卡驱动:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
(5)执行如下命令,更新系统,禁用nouveau:
sudo update-initramfs -u
(6)重启:
sudo reboot
(7) 重启成功后,在终端输入如下命令检查是否禁用nouveau成功,无输出,表示禁用成功:
lsmod | grep nouveau
(8)按ctrl+alt+f1进入命令行界面,在命令行界面下输入如下命令,关闭图形界面(不执行后面会出错):
sudo service lightdm stop
卸载掉原有驱动:(若安装过其他版本或其他方式安装过驱动执行此项)
sudo apt-get remove nvidia-*
(9)给驱动run文件赋予执行权限:
sudo chmod a+x bash NVDIA-Linux-x86_64-418.56.run
(10)安装:
sudo bash NVDIA-Linux-x86_64-418.56.run -no-opengl-files
按照窗口提示进行安装。
注:如出现ERROR:Uable to find the kernel source tree for the currently running kernel …的报错时:
sudo apt-get install linux-headers-$(uname -r)
sudo apt install dkms
重新执行sudo bash NVDIA-Linux-x86_64-418.56.run。
yes
默认
no
(11)安装完毕后
输入:
nvidia-smi
打印出相关显卡信息即下载成功
输入:
nvidia-setting
**NVIDIA显卡设置界面
安装完成
安装CUDA:
(1)运行cuda_10.1.168.418.67_linux.run(CUDA 10.1版本)
sudo bash cuda_10.1.168.418.67_linux.run -no-x-check -no-nouveau-check -no-opengl-files
安装完成后回到图形界面:
sudo service lightdm start
(2)添加环境变量:
gedit ~/.bashrc
最后一行添加:
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
source ~/.bashrc
(3)
cd /usr/local
sudo chmod -R 777 cuda-10.1/
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
全程无报错说明CUDA安装完成
(4)测试CUDA安装是否成功:
nvcc --version
打印出相关CUDA信息表示安装成功
查看cuda版本:
cat /usr/local/cuda-10.1/version.txt
下载CUDNN:
(1)到英伟达官网下载CUDA、Ubuntu对应版本的CUDNN:
https://developer.nvidia.com/rdp/cudnn-download
(本设计使用的cuda10.1,对应cdunn7_7.5)
中间需要注册,步骤比较简单,完成相关信息填写即可。
(2)在/usr/local路径下新建文件夹名cudNN7(版本根据自己版本设定)
将cudnn-10.1-linux-x64-v7.5.1.10.tgz放在文件夹/usr/local/cudNN7并解压:
tar zxvf cudnn-10.1-linux-x64-v7.5.1.10.tgz -C ./
(3)解压之后下载目录会产生一个cuda文件夹,然后依次输入
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
cd ../lib64 #打开lib64目录
sudo cp lib* /usr/local/cuda-10.1/lib64/ #复制库文件
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h /usr/local/cuda/lib64/libcudnn* #给所有用户增加这些文件的读权限
(4)建立软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.5.1 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
关于版本7.5.1 7根据自己下载cudnn版本决定
(5)添加环境变量
sudo vim ~/.bashrc
添加如下代码:
PATH=/usr/local/cuda-10.1/bin:$PATH
export PATH
(该步骤其实在cuda时已经完成,可以重新确认一遍)
保存退出,接下来创建链接文件,终端输入下列代码:
sudo gedit /etc/ld.so.conf.d/cuda-10-1.conf(根据自己版本号决定)
输入下面代码:
/usr/local/cuda/lib64
保存后退出
(6)更新动态链接:
sudo ldconfig
(7)cuda测试
进入CUDA 10.1Sample默认安装路径下(/home/$your desktop name)终端输入:
sudo make all -j8 #8代表8核,可以更改
完成后终端依次输入
cd bin/x86_64/linux/release
./deviceQuery
终端打印出以下信息:
表示安装成功!
转载于:https://my.oschina.net/u/4003094/blog/3100535