ARM嵌入式DNN性能优化:基于PerfNet与OpenBLAS的深度学习加速
需积分: 10 7 浏览量
更新于2024-07-17
收藏 1.91MB PDF 举报
ARM嵌入式系统DNN性能优化的研究主要关注于AI与计算的融合,特别是在深度学习应用中,特别是针对服务器与嵌入式终端的场景。研究者张先轶来自PerfXLab澎峰科技,他们采用了PerfNet框架,这是一个基于MXNet的高性能深度学习框架,适用于x86、ARM、POWER等不同架构的设备。性能优化的核心是 PerfDNN 库,它支持低精度计算,使得模型能够在资源有限的嵌入式设备上运行得更高效。
在性能优化策略上,作者提到了将卷积层(Convlayer)和全连接层(FClayer)的计算任务转化为BLAS(Basic Linear Algebra Subprograms)操作,这利用了BLAS库的强大矩阵处理能力。BLAS是专门为数值计算设计的一组函数,包括BLAS1级(向量-向量)、BLAS2级(矩阵-向量)和BLAS3级(矩阵-矩阵)运算,它们能有效提升矩阵计算的效率。2011年,OpenBLAS起源于GotoBLAS2,作为全球顶级的开源矩阵计算库,它在2016年获得了中国计算机学会科技进步二等奖,并逐渐成为主流Linux发行版和OpenHPC套件的一部分。
OpenBLAS支持多种处理器架构,如Intel、AMD、ARM(包括AArch64)、MIPS、龙芯以及IBM POWER,同时也兼容多种操作系统,包括Linux、Windows、MacOSX和FreeBSD,甚至对于移动平台如Android也提供了支持。性能测试部分,文章提到了Intel SandyBridge和龙芯3A处理器上的OpenBLAS表现,以及GEMM(矩阵乘法)的优化策略,比如通过ijk三重循环实现基础版本,以及N方向分块来提高Cache利用率,从而进一步提升矩阵运算的性能。
这份报告深入探讨了如何利用BLAS库和OpenBLAS技术,针对ARM嵌入式系统进行DNN性能优化,以适应大规模数据和复杂计算任务的需求,为嵌入式设备上的深度学习应用提供高效且可扩展的解决方案。
点击了解资源详情
点击了解资源详情
151 浏览量
2021-09-21 上传
2021-10-16 上传
115 浏览量
391 浏览量
2019-09-05 上传
157 浏览量
自由人_SZ
- 粉丝: 6
- 资源: 7
最新资源
- React性的
- Distributed-Blog-System:分布式博客系统实现
- CloseMe-crx插件
- 欧式建筑立面图纸
- 北理工自控(控制理论基础)实验报告
- yolov7升级版切图识别
- 作业-1 --- IT202:这是我的第一个网站
- hit-and-run:竞争性编程的便捷工具
- Pytorch-Vanilla-GAN:适用于MNIST,FashionMNIST和USPS数据集的Vanilla-GAN的Pytorch实现
- SNKit:iOS开发常用功能封装(Swift 5.0)
- 创意条形图-手机应用下载排行榜excel模板下载
- 项目36
- 通过混沌序列置乱水印.7z
- reactive-system-design
- getwdsdata.m:从 EPANET 输入文件中获取配水系统数据-matlab开发
- 100多套html模块+包含企业模板和后台模板(适合初级学习)