caffe-parallel 使用总结(ONLY_CPU)

浪潮的 caffe-parallel 确实实现了数据的并行化,但是使用起来还是和原版的caffe有些出入,毕竟是从一个旧版本fork过去的。对于使用的系统环境和依赖也比原版的多一点要求。下面说说在ubuntu12.04下面怎么搞起来的。

首先列举一些所有的依赖(我自己使用且顺利通过编译运行的):OpenBLAS官网最新版,Opencv系统自带,Boost1.56这个版本很重要,glog 0.33,gflags2.1.2 ,protobuf apt-get 安装,proto-complier apt-get, leveldb 1.15 ,snappy apt-get , HDF5 apt-get ,lmdb 0.9 ,autoconf apt-get ,MPICH3 3.1.4 官网,

gfortran apt-get,cmake 官网最新。其余的缺什么补什么即可。安装过程安装github上面readme和大众要求即可。

========================================================

在说一下其中的坑。主要就是boost 和 MPICH3,OpenBLAS。

boost 版本不够,会有些功能函数找不到,所以要比较新的版本。而且,如果系统里面已经安装了旧版的,或者从 apt-get里面更新了boost,要把/usr/bin ;/usr/lib下面旧版的boost文件都删掉,从/usr/local/bin 和/usr/local/lib 里面把所有boost文件都软连接到之前的目录。

MPICH3 和OpenMPI会有冲突,系统默认应该带了OpenMPI的东西,可以用apt-get purger openmpi-dev去移除相应的文件和组件(具体的package name 可以去 packages.ubuntu.com上查)。删完之后,把安装到本地的MPICH3 的相关文件软连接到 对应的 /usr/lib ;/usr/bin 下面。

编译阶段或者执行阶段,可能提示有些OpenBLAS的文件libopenblas****找不到,这时候从/opt/OpenBLAS 里面找到对应的文件,软连接到 /usr/lib 或者/usr/bin 下面,即可。

================================================

使用的时候要先配置好MPICH3 ,百度一下,肯定知道。最少都2个节点,一个主host,一个计算,多线程,数据并行,但是感觉还是通信开销挺大,一台服务器6并行结构跑cifar10 和我一个笔记本的速度差不多。

================================================

关于caffe-parallel数据并行化效率的一点总结。选择的机器尽可能多,至少一台host,一台计算机器。host会分发数据,其他机器计算,多线程并行,互不干扰。分配的进程数<= CPU实际核心数,这样才能尽可能提高效率,若进程数>=CPU实际核心数,效率会下降,可能有调度的原因在里面。

实际数据:单机跑cifar10 -quick-train,45min左右。2台计算机器,满核心(8线程)。100iters/30s ,共 4000iters,so,用时:30s * 4000/100 = 30 * 40 s= 1200s = 20min.效率提升 45-20 /45 = 25 / 45 = 55.6%

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值