ARM Compute Library
来源:互联网 发布:万达网络科技集团 编辑:程序博客网 时间:2024/06/08 16:59
ARM Compute Library是ARM公司刚发布不久的开源工程,旨在为图像/视频/多媒体/计算机视觉等领域的开发者提供arm平台的硬件加速库。这个库中分别用OpenCL与NEON的方式实现了一些上述领域的基本算法,OpenCL主要是arm的Mali GPU加速,NEON是针对arm的A系列CPU。
我最近研究了一下它的源码,主要看了针对CNN的卷积运算需要用到的convolution过程。当然,其他的基本算法也都是同样的流程。工程中是把图像按照列的方式分割成子块,然后分别启动几个线程去处理这些子块。对于convolution来说,NEON方式实现了两种方法,一种是GEMM的方法,把输入图像先im2col,然后interleave操作,把weight进行transposed操作,之后进行矩阵乘法,之所以有interleave与transposed两步是为了矩阵乘法时NEON指令集load数据的连贯性与平顺性,并且不需要重复load,最大限度的发挥了neon指令集的能力。还一种方法是标准的卷积运算。当然其中也是运用了NEON的intrinsic函数调用方式。OpenCL调用GPU加速的方式我还没有细看,不过大体上看来主要流程与NEON的方式类似,也是按照线程数分割图像,然后并行处理子块。其中也是有shape,window,iterator的概念。只是真正的计算中与NEON的指令集不一样。
这个lib发布之后,开发者可以不用关心arm的cpu与gpu怎样通过NEON或OpenCL来实现硬件的加速,直接调用这个库中的接口就可以,对于开发计算机视觉类的应用但是不太了解硬件加速编程的工程师来说十分有利。
- ARM Compute Library
- 通过ARM Compute Library写的VGG16的模型
- 如何通过ARM Compute Library写深度学习模型
- Compute library compile
- compute
- Shared Library in X86/ARM
- Alexnet在android手机中的tensorflow和arm compute libraray的性能对比
- COMPUTE 和 COMPUTE BY
- Compute 和Compute By
- compute和compute by
- Cloud Compute
- DataTable.Compute
- OpenStack Compute
- compute关键字
- nova-compute
- hdu2196 Compute
- hog.compute()
- ReceptiveField Compute
- Java函数式编程笔记(一)—— Lambda表达式
- Go flag包示例
- 关于SSM的配置文件和Web.xml的配置
- jstorm开发+运维经验总结
- fragment监听onBackPressed返回键
- ARM Compute Library
- ios开发之Swift获取视频截图(本地视频、网络视频的缩略图)
- 使用MyBatis+MySQL插入记录后返回该记录主键ID
- mongo(3)
- 省市区三级联动实现1
- js保留小数点后面两位
- 机器学习/数据挖掘之中国大牛
- php 按照回车拆分字符串注意事项
- Python 时间戳