Ubuntu 15.04 CUDA 7.5 Matlab R2016b Caffe配置

本文详细介绍了在Ubuntu 15.04系统下,如何安装CUDA 7.5,配置Matlab R2016b,并成功编译Caffe。关键步骤包括选择gcc 4.9,安装CUDA和更新系统,以及挂载和安装Matlab ISO文件。最后,对Caffe的makefile进行配置以确保顺利编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 15.04 CUDA 7.5 Matlab R2016b环境下的Caffe编译

– 选择gcc版本为4.9
– Ubunt 15.04 默认gcc为4.9.x
– CUDA 7.5 可用gcc 4.9编译,而CUDA 8.0不能,且Ubuntu 16.04要求CUDA 8.0
–Matlab R2016 要求的是gcc 4.9.x 的mex环境

一. Ubuntu 15.04系统安装

  • ubuntu 15.04系统镜像iso文件
    -ubuntu 15.04 64-bit PC desktop image
  • 2G以上的usb+usb镜像制作软件
    -镜像制作软件Rufus
    -usb制作方法
  • windows系统分区
    -c盘空出至少40G吧,或者自己分区
  • ubuntu安装
    -插入u盘重启,在启动页面按照机型进入BIOS,选择boot优先级,将usb的优先级设置为第一,保存修改并继续开机,进入ubuntu安装界面
    -默认英语系统,选择install alongside windows即双系统,设置需要的,建议不联网速度较快,安装完再更新。

二. CUDA 7.5安装

$ lspci | grep -i nvidia
  • 确定linux系统是否支持CUDA Toolkit,没什么用,就是看一下系统的distribution信息
$ uname -m && cat /etc/*release
  • 确定系统gcc版本,需要4.9
$ gcc --version
  • 查看系统内核
$ uname -r
  • 进行更新($(uname -r)是前面那句话的显示结果)
$ sudo apt-get install linux-headers-$(uname -r)
  • 安装CUDA 7.5的方式介绍
    – distribution-specific packages方式,可以和系统的原生库管理系统对接
    – distribution-independent package方式,适应更多的Linux系统,不过不更新系统的原生库管理系统
  • 安装CUDA 7.5前删除原来的nvidia产品
##Runfile安装的删除方式
#删除cuda toolkit
$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
#删除nvidia driver
$ sudo /usr/bin/nvidia-uninstall
################################################!
##RPM/Deb安装的删除方式
$ sudo apt-get --purge remove <package_name>

cuda install&uninstall

##安装库的元数据
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb -更新apt库缓存
$ sudo apt-get update
##安装CUDA
$ sudo apt-get install cuda
##如果有必要更新驱动就
$ sudo apt-get install cuda-drivers
##重启ok
$ reboot
  • Runfile安装方式
##Disabling Nouveau
#检查Nouveau驱动是否运行
$ lsmod | grep nouveau
#sudo vi创建文件/etc/modprobe.d/blacklist-nouveau.conf
#i进入insert模式输入
#esc退出进入命令行
#:wq保存并退出
#内容为
blacklist nouveau
options nouveau modeset=0
##重新生成内核initramfs
$ sudo update-initramfs –u
##重启进入text mode
#BIOS的boot参数中最后一行添加数字3,再添加一行nomodeset保存进入文本模式
#此时确定nouveau是否运行
$ lsmod | grep nouveau
#还有就sudo service lightdm stop
##运行run文件
$ sudo sh cuda_<version>_linux.run
#按住Enter往下直到询问EULA Acceptance
#按照需求安装后续的驱动、toolkit和samples
##重启系统加载图形界面(容易出现login loop问题,google解决)
##检查/dev/nvidia*是否存在并且存在正确(0666)的文件许可,不存在的话就手动运行下面的脚本
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
  • 后处理
    –环境配置
##由于export设置每次reboot的时候都会reset,所以需要修改/etc/bash.bashrc文件
$ sudo gedit /etc/bash.bashrc
#在最后添加两行
export PATH=/usr/local/cuda-x.x/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#保存并重启reboot
##查看PATH和LD_LIBRARY_PATH
$ echo $PATH
$ echo $LD_LIBRARY_PATH
##检查nvidia产品
$ nvcc --version

三. Matlab R2016b安装

–linux matlab R2016b 安装baiducloud pw: aixp

  • 创建挂载目录,pathtoxx是对应文件的目录
$ mkdir /pathtoxx/matlab2016 #挂载目录
  • 挂载R2016b_glnxa64_dvd1.iso
$ sudo mount -t auto -o loop /pathtoxxx/R2016b_glnxa64_dvd1.iso /pathtoxx/matlab2016
  • 安装
    –此时挂载目录中已经有dvd1解压的内容了,执行里面的install文件
$ sudo /pathtoxx/matlab2016/install
  • 挂载R2016b_glnxa64_dvd2.iso
    –接下来的操作和windows matlab安装类似,选择不联网,许可证的安装密钥为crack文件里txt里,默认选择路径,选择所需matlab产品,安装到一定程度后提醒插入DVD2,再进行R2016b_glnxa64_dvd2.iso的挂载,新建terminal,按照下面的指令挂载dvd2,再点击ok直到安装完成
$ sudo mount -t auto -o loop /pathtoxx/R2016b_glnxa64_dvd2.iso /pathtoxx/matlab2016
  • 激活
    –在进行激活之前,首先提高文件和文件夹的读写操作权限
##首先对crack中的license_standalone.lic进行授权
$ sudo chmod 777 license_standalone.lic
##然后进入进入matlab安装路径提高权限
$ cd /usr/local/MATLAB/
$ sudo chmod -R 777 R2016b/ #提高对安装目录R2016b的操作权限
##进入matlab安装路径
$ cd /usr/local/MATLAB/R2016b
##打开matlab
$ ./matlab 
##弹出matlab激活界面,选择在不适用Internet的情况下手动激活
##选择提高了权限的license_standalone.lic文件,激活成功
##最后替换掉四个so文件
$ sudo cp /pathtoxx/libmwservices.so /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp /pathtoxx/libmwlmgrimpl.so /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp /pathtoxx/libinstutil.so /usr/local/MATLAB/R2016b/bin/glnxa64
$ sudo cp /pathtoxx/libcufft.so.7.5.18 /usr/local/MATLAB/R2016b/bin/glnxa64
  • 取消挂载,挂载几次取消几次
$ sudo umount /pathtoxx/matlab2016
$ sudo umount /pathtoxx/matlab2016
  • 启动
$ matlab

四. Caffe编译

  • 安装库
$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install -y build-essential cmake git pkg-config

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

$ sudo apt-get install -y libatlas-base-dev 

$ sudo apt-get install -y --no-install-recommends libboost-all-dev

$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

# (Python general)
$ sudo apt-get install -y python-pip

# (Python 2.7 development files,默认python2)
$ sudo apt-get install -y python-dev
$ sudo apt-get install -y python-numpy python-scipy

# (or, Python 3.5 development files)
$ sudo apt-get install -y python3-dev
$ sudo apt-get install -y python3-numpy python3-scipy

# (OpenCV 2.4)
$ sudo apt-get install -y libopencv-dev

(or, OpenCV 3.1 自己编译,这里使用opencv2)
  • 修改makeconfig
    –解压caffe linux后首先进行配置修改
$ cp Makefile.config.example Makefile.config
  • 编辑其中的内容,对其中的内容进行需要的修改,比如cuDNN加速(注意要NIVIDA显卡计算能力是3.0以上的,否则在配置中注释cuDNN,cuDNN的.h文件复制到usr/include/里,lib64里的so文件复制到usr/lib/x86_64-linux-gnu/里)
  • 对hdf5进行修改
$ find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

$ cd /usr/lib/x86_64-linux-gnu

$ sudo ln -s libhdf5_serial.so.8.0.2 libhdf5.so

$ sudo ln -s libhdf5_serial_hl.so.8.0.2 libhdf5_hl.so 
  • 由于后续会出现hdf5_hl.h未找到问题,再进行下列操作
##在Makefile.config加 /usr/include/hdf5/serial/ 到 INCLUDE_DIRS里:
--- INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
+++ INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
##在Makefile里重命名hdf5_hl和hdf5为hdf5_serial_hl and hdf5_serial:
--- LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
+++ LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
  • 安装python所需内容
$ cd /pathtoxx/caffe-master/python

$ for req in $(cat requirements.txt); do pip install $req; done
  • 然后修改makefile
将NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)句子修改为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
  • compile,一路无错不能更爽~有错就google~
$ make all
$ make test
$ make runtest
$ make pycaffe      
$ make matcaffe
$ make distribute

废话时间:终于搞定了,蓝瘦香菇的一个星期
SMAP今天出了最终专辑收录曲,第一是stay……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值