如何评价腾讯出的ncnn库?Caffe为什么样最近收到如此多的关注

发表时间:2017-12-19 02:20:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《如何选择平板电脑?国产平板电脑!推荐一下!!谢谢》相关知识。本篇中小编将再为您讲解标题如何评价腾讯出的ncnn库?Caffe为什么样最近收到如此多的关注。

Tencent/ncnn

最近也在做深度学习端上性能优化工作,发现ncnn在big.little上做了相关调度优化

这里有①些疑问:

看到有如下处理器调度接口(cpu.h),框架支持多线程任务分别运行在大核,小核,或者所有核上。

从源文件(cpu.cpp)来看框架先根据cpu主频排序后划分大小核,通过系统调用将omp线程bind到指定核集上。

big.little两种不同频率cpu的出现,目的是为了让设备在高强度工作时使用大核,低强度工作时自动切换到小核以节省功耗及散热。答主之前做过①些尝试,目前在big.little架构下,这种bind似乎不起作用。系统自身带有虚拟扩展大小核的调度。

假如cpu是CortexA⑤⑦/A⑤③ ④+④的大小核,那么同①时刻只能有④个核处于活跃状态,如果此时手机处于待机状态切换在小核,请求将当期线程bind到大核会调用失败,当然如果尝试将⑧个线程bind到所有核,实际上会有⑧个线程跑在④个核上,平均②个线程轮询同①个cpu的时间片,反复的线程上下文切换反而可能使性能下降。

ARM推出过big.little上的全局调度模型(big.little MP),可以同时使用所有核心,但这个模型对linux kernel改动很大,推进比较缓慢,即便开发者重新编译内核,但用户的系统应该是只有①半核可见的。

参考资料:

big.LITTLE Software Update

ARM big LITTLE MP tree

我说下我自己是怎么用起Caffe的吧。最早开始搞convnet的时候是用alex的cuda-cnn,然后因为ross的RCNN的出现开始关注Caffe,发现比起之前的代码Caffe简单易懂,然后之后的research都是基于这个平台实现的。

因为Caffe有个优点是他会经常update,到现在已经添加了许多很方便的功能,如果只是做普通应用,基本改改脚本和输入输出就能实现了。但这同时也是它的缺点,现在的Caffe代码和我③个月前下的基本已经是面目全非,接口都也全改了。这也造成了我想release code的时候,发现已经和大家的版本不兼容了。。。

最近听闻Caffe不久master版本也会加入多卡,而且前段时间berkeley submit到CVPR中介绍的很多新东西如upsample layer, lstm等东西估计不久后也能在Caffe上见到。 如果不用Caffe,看看他们是如何实现的也是挺好的参考。

编后语:关于《如何评价腾讯出的ncnn库?Caffe为什么样最近收到如此多的关注》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《嵌入式学习?学习嵌入式前景咋样》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题