神经网络arm性能优化笔记

  • 这篇文章的主要内容:ARM设备端实现深度学习的一些tips

编译优化与ARM NEON

在使用arm-linux-gcc交叉编译工具链生成最终的可执行程序时,开启—O3编译优化,可以用来平衡时间和执行效率。Gcc的-o3编译选项为最高等级的优化,会自动进行指令以及寄存器级别的优化。

NEON介绍

ARMV7-A和ARMV7-R以及AMRV8系列支持neon指令集

Neon是ARM处理器中集成的一套SIMD(single instruction multiple data)单指令多数据指令集,可使得CPU在一个指令周期内并行处理多个数据,节省算法处理时间,常用作图像算法处理的一种加速手段。可以在交叉编译opencv的时候开启NEON优化的选项,可以加速图像处理算法的运行。

多核并行

多核ARM嵌入式平台的优势在于方便分配资源。可以将不同的任务分配给不同的核心,或者通过并行化手段将一个任务分配给多个核心。从单核到多核的转变为算法增加了难度,此时需要引入OpenMP。 OpenMP是一个跨平台的编程结构,通过在算法的C++代码中需要并行化的部分加入pragma指令,编译器将自动进行并行化处理
通过使用taskset指令,可以让程序绑定指定的CPU核心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值