arm
饭后吃西瓜
这个作者很懒,什么都没留下…
展开
-
NEON加速im2col+gemm的卷积推理
前言主流框架包括caffe、tf、darknet实现卷积的时候不是直接进行卷积计算,而是往往采用im2col+gemm的方式来进行加速,加速的思路是“空间换时间”提高读取数据过程cache的命中。本文主要利用ARM的NEON汇编指令来加速darknet框架的CPU卷积计算darknet相关卷积实现原理具体的im2col原理卷积实现时,卷积核第一个元素与经过im2col操作后的feature map的第一行对应的的每个元素先后分别相乘,结果值分别存到不同位置,如图中所示。然后以此类推,卷积核第二个原创 2020-09-26 22:28:34 · 2299 阅读 · 0 评论 -
gdb远程调试
前言学会调试生成的程序是一种能力,而使用好工具更是能力的体现。想必gdb不用过多介绍。本文主要介绍如何用gdb命令行远程调试目标板上的程序以及如何配合vscode可视化远程调试目标板上的程序编译安装下载链接我下载的是7.8.1,好像说新版的不太好。下载好之后解压进入,执行下述命令进行配置安装:hsq@ares:~$ cd gdb-7.8.1/hsq@ares:~/gdb-7.8.1$...原创 2020-04-29 13:44:32 · 6829 阅读 · 1 评论 -
NEON初步使用
前言指令集并行是CPU的优化加速的一个方向,在ARM芯片主要是利用NEON指令集实现指令集并行NEON简介NEON就是高级SIMD,单指令多数据,适用于图像、音频等数据处理。ARMv6就叫SIMD,ARMv7开始叫NEON,aarch64又有点不一样,下文只针对ARMv7或者ARMv8 aarch32的NEON进行NEON有32个64位长的寄存器(D0-D31,每个D可以装2个浮点数据)...原创 2020-04-28 22:43:00 · 1963 阅读 · 0 评论