Ubuntu16.04 配置 CUDA8.0 + cudnn5.1 + Opencv2.4.13

Ubuntu16.04 配置 CUDA8.0 + cudnn5.1 + Opencv2.4.13

系统环境:Ubuntu 16.04 64位系统
安装软件:CUDA 8.0 / cudnn 5.1 / Opencv2.4.13

1. 首先更换ubuntu 16.04的源,推荐使用的中国科技大学提供的ubuntu源

(1)终端输入

1- cd /etc/apt/ 
2- sudo cp sources.list sources.list.backup
3- sudo gedit sources.list

(2)然后把如下内容替换到该文件 /etc/apt/sources.list 中:

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

(3)然后更新源和更新已安装的包:

1- sudo apt-get update 
2- sudo apt-get upgrade

2. 更换gcc版本进行降级。由于cuda 8.0在ubuntu 16.04种支持的gcc版本是5.3.0,所以需要对gcc版本进行降级

(1)下载gcc源码

wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

(2)解压

tar -zxvf gcc-5.3.0.tar.gz

(3)下载编译所需依赖项:

1- cd gcc-5.3.0
2- ./contrib/download_prerequisites
3- cd .. 

(4)建立编译输出目录:

mkdir gcc-build-5.3.0

(5)进入输出目录,执行以下命令,并生成makefile文件:

1- cd gcc-build-5.3.0
2- ../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

(6)编译:

sudo make -j4

接下来就是等待了,整个过程大约40分钟左右。PS:最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也不少。

(7)编译结束以后,我们就可以执行安装了:

sudo make install

(8)检查gcc和g++版本是否为5.3.0

gcc --version g++ --version

3. 在Nvidia官网上根据显卡型号下载针对linux系统的驱动文件(试验机采用的是Nvidia GTX 960显卡),驱动下载网址链接:Nvidia Drivers Download

(1)删除旧的或者已经安装的显卡驱动:

sudo apt-get purge nvidia*

(2)通过创建一个黑名单文件禁用Ubuntu 16.04 可能自带的 nouveau 第三方nvidia驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

并在/etc/modprobe.d/blacklist-nouveau.conf中添加如下内容:

blacklist nouveau options nouveau modeset=0

更新黑名单列表

sudo update-initramfs -u

重启系统并确认下Nouveau是否被禁用:

lsmod | grep nouveau 

(3)重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,再安装下载的驱动就无问题,
关闭系统图形界面:

sudo service lightdm stop

然后切换到tty1控制台:Ctrl+Alt+F1

(4)安装显卡驱动:

sudo ./NVIDIA-Linux-x86_64-375.39.run

安装完毕后,重新启动图形界面:

sudo service lightdm start

然后Ctrl+Alt+F7进入图形界面;
如有问题,卸载指令:

sudo sh ~/NVIDIA-Linux-x86_64-375.39.run --uninstall

检验安装是否成功指令:

nvidia-smi
nvidia-settings

3. 安装cuda 8.0 。cuda 8.0 Download 下载cuda_8.0.61_375.26_linux.run安装包

终端进入到cuda 8.0所在位置目录下进行安装:

sudo sh cuda_8.0.44_linux.run --override

启动安装程序,一直按空格到最后,输入accept接受条款
输入n不安装nvidia图像驱动,之前已经安装过了
输入y安装cuda 8.0工具
回车确认cuda默认安装路径:/usr/local/cuda-8.0
输入y用sudo权限运行安装,输入密码
输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
输入y安装CUDA 8.0 Samples,以便后面测试
回车确认CUDA 8.0 Samples默认安装路径,该安装路径测试完可以删除

4. 安装cudnn 5.1 。cudnn 5.1 Download 下载cudnn-8.0-linux-x64-v5.1.tgz安装包

(1)终端进入到cudnn 5.1所在位置目录下进行解压:

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz

(2)终端再进入到该目录下新生成的cuda目录下

1- cd cuda/include/  2- sudo cp cudnn.h /usr/local/cuda/include/  
3- cd ../lib64  
4- sudo cp lib* /usr/local/cuda/lib64/  
5- sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

5. 整合cuda和cudnn环境并建立软链接。

(1)终端输入

1- cd /usr/local/cuda/lib64/ 
2- sudo rm -rf libcudnn.so libcudnn.so.5 
3- sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 
4- sudo ln -s libcudnn.so.5 libcudnn.so 

设置环境变量:

sudo gedit /etc/profile 

在/etc/profile文件末尾添加以下内容:

1- PATH=/usr/local/cuda/bin:/usr/local/cuda-8.0/bin:$PATH 
2- export PATH

(2)创建链接文件

sudo gedit /etc/ld.so.conf.d/cuda.conf 

/etc/ld.so.conf.d/cuda.conf文件末尾以下内容:

/usr/local/cuda/lib64 

配置生效命令

sudo ldconfig 

6. 检验cuda是否安装成功。输入指令nvcc --version检测是否显示Nvidia的显卡cuda版本号。

7. 安装opencv 2.4.13。Opencv 2.4.13 Download下载Opencv 2.4.13程序源码包

(1)下载并安装程序包与编译工具

1- sudo apt-get install build-essential  2- sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev  3- sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

(2)解压并进入文件夹“opencv-2.4.13″并编译安装

cd opencv-2.4.13

新建一个文件夹用于存放编译文件:

mkdir release

切换到release文件夹中:

cd release

开始编译:

1- cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
2- make -j4 
3- sudo make install

(3)将opencv的库加入到路径

sudo gedit /etc/ld.so.conf.d/opencv.conf

在/etc/ld.so.conf.d/opencv.conf中添加以下内容:

/usr/local/lib

将添加的路径配置生效:

sudo ldconfig

(4)配置pkg-config

sudo gedit /etc/bash.bashrc

在/etc/bash.bashrc中添加以下内容:

1- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
2- export PKG_CONFIG_PATH

将新添加的配置生效:

source /etc/bash.bashrc 

(5)检测Opencv是否安装成功。输入以下指令获取Opencv版本号

pkg-config --modversion opencv

发表评论