ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置

因为项目需要,准备入坑facebook的detectron目标检测框架。由于目前框架只能在linux+gpu环境下运行,所以准备了以下工作:

先说下我的硬件配置:

i5-6500破铜

华硕gtx 1080ti 显卡

32G ddr4内存

华硕z170主板

主板上有一个hdmi接口,当显示器和这个hdmi接口连接时,核显驱动显示;当显示器和显卡后面的hdmi口连接时,gtx1080驱动显示器。

值得一提的是,我是win7系统用easybcd在硬盘上装了ubuntu16.04,由于i5带核心显卡,所以在安装时我拆掉了gtx1080,然后hdmi线连到主板的插口上安装系统的。不拆显卡直接安装会失败。

话说,核显+独显双核显卡配置的ubuntu装nvidia驱动是个大坑啊,之前折腾我的笔记本i7  4700hq与gtx850M装nvidia驱动那一个心酸,体验了从入门到放弃的全过程。好在现在手头有个台式机器可以继续尝试折腾。

双hdmi口的双显卡驱动安装很简单,一点也不虐心,跟我来吧:

1. 准备工作

Ubuntu16.04系统安装完毕之后,(此时gtx1080显卡还没装回主板上)首先做两个准备工作,一个是更新apt-get的源,可以用清华源:

 1/ 在修改source.list前,最好先备份一份

 执行备份命令
    
 sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

 2/ 执行命令打开source.list文件:

推荐用gedit工具打开,对于新手简单容易上手:
    
 sudo gedit /etc/apt/source.list
 3/复制源

 把下面的任意一下复制到source.list中去,并删除覆盖原来的文件内容。
 # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe

 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

 4/update命令 ,便更新结束
 sudo apt-get update

2. 安装CUDA TOOLKIT

到这一步很多同学就会奇怪了,为什么不先装显卡驱?因为cuda安装过程会默认安装驱动,即使你的机器上面没有独立显卡(此时gtx1080显卡依然没装回主板上)。

前往NVIDIA的 CUDA 官方页面,登录后可以选择CUDA9.1版本下载:https://developer.nvidia.com/cuda-downloads , 这次我选择的是面向ubuntu16.04的deb版本:

ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置_第1张图片

下载完deb文件之后按照官方给的方法按如下方式安装CUDA9.1: 

sudo dpkg -i cuda-repo-ubuntu1604-9-1-local_9.1.85-1_amd64.deb

安装结束后添加key到环境变量

sudo apt-key add /var/cuda-repo-9-1-local-rc/7fa2af80.pub
sudo apt-get update

sudo apt-get install cuda

ok到这一步cuda与nvidia驱动都装好了,下一步是关闭机器,拿起螺丝刀装上gtx1080ti显卡!

安装完毕后,把机箱后hdmi先插回显卡的hdmi上,然后开机!

打开系统设置,再打开软件和更新,打开附加驱动选项卡,等待几秒后出现双显卡的驱动使用情况,点击核心显卡下面的不使用设备选项,在NVIDIA里选择最新的显卡驱动nvidia-387,然后点右下角的应用更改。如下图,显卡驱动安装大功告成!

ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置_第2张图片

下面可以测试一下CUDA的相关例子,验证cuda和显卡驱动有没有安装成功,我将cuda9.1下的sample拷贝到一个临时目录下进行编译:

cp -r /usr/local/cuda-9.1/samples/ .
cd samples/
make

make大概十分钟左右,等待结束后,cd到拷贝sample文件夹的目录:

cd /home/ubuntu/samples

然后继续进入子文件夹

cd /home/ubuntu/samples/1_Utilities/bandwidthTest

终端继续输入

./bandwidthTest

出现如下信息证明安装ok!

[CUDA Bandwidth Test] - Starting...
Running on...

Device 0: GeForce GTX 1080
Quick Mode

Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 11258.6

Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12875.1

Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 231174.2

Result = PASS

 

最后在 ~/.bashrc 里再设置一下cuda的环境变量:

 

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

然后终端输入

source ~/.bashrc 让其生效。

3. 安装cuDNN

安装cuDNN很简单,不过同样需要前往NVIDIA官网: https://developer.nvidia.com/rdp/cudnn-download,这次我们选择的是cuDNN7.05, 关于cuDNN7.05:

我选择的是这个版本:cuDNN v7.05  for CUDA 9.1  --- cuDNN v7.05 Library for Linux

ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置_第3张图片

下载完毕后解压,然后将相关文件拷贝到cuda安装目录下即可:
首先cd到cudnn目录,如我的cudnn在/home/ubuntu/deeplearning/environment
那么首先:
cd /home/ubuntu/deeplearning/environment
然后:
tar -zxvf cudnn-9.1-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

 

到此双显卡驱动+cuda9.1+cudnn7.05深度学习环境安装完毕啦,下一步就是安装detectron了,且听下回分解。

错误提示:

Makefile:381: recipe for target 'cudaDecodeGL' failedmake[1]: *** [cudaDecodeGL] Error 1make[1]: Leaving directory '/home/cocadas/Workspace/NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL'Makefile:52: recipe for target '3_Imaging/cudaDecodeGL/Makefile.ph_build' failedmake: *** [3_Imaging/cudaDecodeGL/Makefile.ph_build] Error 2

修改:.../NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL/findgllib.mk file,将UBUNTU_PKG_NAME = "nvidia-375"改成对应驱动版本号

你可能感兴趣的:(深度学习,cuda,双显卡驱动,深度学习环境)