Ubuntu 16.04安装CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)

Caffe环境这是第四次配了,第一次是CPU版本,比较简单,很容易就配成功了。后面两次是GPU版本,但总有一堆问题。这次边配环境边记录下来,如果再遇到问题也好查找。版本说明如下:
Caffe: CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)

1.重装系统

2. 安装五笔输入法

由于要边配边记录,所以就先安装输入法了。

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4    
im-switch -s ibus
sudo apt-get install ibus-table-wubi 
killall ibus-daemon            
ibus-daemon -drx

第一条语句是安裝IBus框架,有些版本自带了框架,则不需要安装。
第二条语句是启动IBus框架。(安装的时候提示im-switch: command not found,原来是现在改成了im-config,然后在选项中选择ibus。)
第三条语句是安装五笔引擎。
第四条重启IBus输入法框架:Kill掉ibus进程(如果ibus没有运行,会显示:
ibus-daemon: no process found
然后
输入ibus-daemon -d
就出来了。)
第五条重启IBus输入法框架:重启进程

3. 装显卡驱动。

显卡型号:GTX950。
查看显卡型号:

lspci | grep VGA

再进入nvidia官网搜索对应的驱动版本。
由于命令行安装比较容易,所以采用命令行安装。
开始安装:
首先按住ctrl+Alt+F1进入文字界面,然后执行以下语句:

sudo apt-get purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-370
sudo reboot

重启后执行:

nvidia-smi

出现以下界面:
这里写图片描述
则代表显卡驱动安装成功。
顺便说一下截图功能:
进入System Settings--Keyboard--Shortcuts--Screenshots
我设置的:
这里写图片描述
选中的那个是Alt+print

gnome-screenshot -h

用来查看这些快捷方式

4. cuda8.0安装

简介:
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台CUDA?是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。开发人员现在可以使用C语言来为CUDA?架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA?的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
文件可在https://developer.nvidia.com/cuda-downloads下载。
参考www.itdadao.com/articles/c15a234199p0.html安装。
下载完后进入目录:

cd Downloads/soft/

进行MD5检验,确保安装包正常:

sudo md5sum cuda.run

结果:
这里写图片描述
检验正确后,输入如下代码安装(第一行修改文件权限,第二行执行文件安装):

chmod 777 cuda.run
sudo ./cuda.run --override

这里写图片描述
需要一直按住ENTER键。
后面选项答案依次为:
accept
n
y
/usr/local/cuda-8.0
y
y
/home/huhui
第三行配置询问是否要安装nvidia图形驱动器,一定要选n,因为之前已经安装过了,如果再安装则会报错。
如图:
这里写图片描述

5. CUDNN安装

下载地址:https://developer.nvidia.com/cudnn
cudnn-8.0-linux-x64-v5.1.tgz
进入下载目录:

cd Downloads/soft

我解压到上一层目录:(后面的-C ../不要就是解压到当前目录)

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

解压后有个cuda文件,内有include和lib64两个文件夹,进入include文件夹,执行如下命令复制头文件:

cd ../cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/

再cd命令切换进lib64文件夹,执行如下命令复制动态链接库:

cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/

然后进入复制后的动态链接库进行新的链接。先进入目录:

cd /usr/local/cuda/lib64/

然后查看已有链接:

ls -al | grep libcudnn

这里写图片描述
删除原有动态文件:

sudo rm -rf libcudnn.so libcudnn.so.5

再次查看:

ls -al | grep libcudnn

这里写图片描述
已删除,现在建立新的链接:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so

再次查看

ls -al | grep libcudnn

这里写图片描述
已链接好!
然后设置环境变量和动态链接库:

sudo gedit /etc/profile

然后再打开的文件末尾加上(“=”前后不要有空格)

export PATH=/usr/local/cuda/bin:$PATH

保存之后创建链接文件:

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

这时出现(若未出现问题可跳过)
这里写图片描述
于是检查一下vim是否安装:

rpm -qa|grep vim

这里写图片描述
rpm没有安装,按照提示执行:

sudo apt install rpm

再执行

rpm -qa|grep vim

什么结果也没有返回。于是在命令行输入:

vim

出现结果:
这里写图片描述
为安装vim,输入命令:

sudo apt install vim

再执行

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

现在可以打开了。在文件加入以下内容:

/usr/local/cuda/lib64

按下esc,按下wq保存后退出。并在终端输入以下命令使该链接生效:

sudo ldconfig

使用sample里面的例子来测试还需要编译。因为当前的cuda还不支持gcc5.0以上的版本,在编译之前,我们需要修改配置文件,否则无法编译成功。(之前试过降低gcc版本,搞了很久没成功,这样改会有warning,但是还是先这样吧。)

cd /usr/local/cuda-8.0/include/
sudo cp host_config.h host_config.h.bak
sudo gedit host_config.h

113行如下:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)

说明GCC版本要在5.3以下。查看自己的gcc版本:

gcc --version

这里写图片描述
5.4的版本,所以这句话需要改,于是我把3直接改成9:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)

保存后退出。然后进入用例文件进行编译(注意执行第二步命令时候需要较长时间是正常现象):

cd ~/NVIDIA_CUDA-8.0_Samples/
sudo make -j16

这里写图片描述
编译成功。

cd bin/x86_64/linux/release/
sudo ./deviceQuery

运行结果:
这里写图片描述
说明显卡驱动和cuda安装成功。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-10/147618.htm