博客
关于我
【端智能】MNN CPU性能优化年度小结
阅读量:160 次
发布时间:2019-02-27

本文共 1188 字,大约阅读时间需要 3 分钟。

MNN推理引擎优化一年:性能提升与架构适配

自2020年5月MNN1.0.0版本发布以来,我们持续发力于推理引擎的性能优化与硬件适配,致力于打造通用性强、性能领先的推理解决方案。

架构改造:为多架构制定基础

为了支持更多指令集与精度选择,我们对引擎架构进行了全面改造。这一改造不仅降低了后续优化成本,更为后续对各类硬件和精度模式的支持奠定了基础。

几何计算:简化算子,提升性能

几何计算机制通过分离坐标映射部分,将复杂算子如Slice-TF、Pack、Unpack等简化,显著提升了CPU上的性能。这种机制在ARM架构和其他移动端硬件上表现尤为突出。

算子统一:降低实现复杂度

卷积、反卷积等核心算子在不同精度和硬件上有多种实现方案。MNN通过统一实现这些算子,确保在不同硬件和精度下都能达到最优性能。这种统一机制不仅简化了开发流程,更为后续优化奠定了坚实基础。

矩阵乘与卷积优化:提升SIMD效率

在矩阵乘和卷积算子的实现中,我们通过优化SIMD指令,显著提升了计算效率。特别是在ARMv8架构上,我们实现了更高效的内存访问策略,进一步降低了计算延迟。

ARM架构优化:挖掘硬件潜能

针对ARM架构,我们对存储指令和SIMD指令进行了深度优化,提升了矩阵乘和卷积的执行效率。这种优化使得MNN在ARM硬件上的运行性能得到了显著提升。

x64架构:兼顾性能与兼容性

在x64架构中,我们重点优化了AVX2和AVX512指令集。通过深度调优,MNN在AVX2上的性能提升达70%-100%,而在AVX512架构上,浮点矩阵乘的速度提升了60%,量化计算加速了200%。

低精度计算:精度与效率的平衡

我们支持了多种低精度计算模式,包括半精度浮点(FP16)和BF16。这些模式不仅减少了内存占用,还显著提升了计算效率。在ARMv8.2架构上,FP16计算实现了双倍性能提升。

量化计算:深化性能提升

通过Overflow-Aware、Winograd-Aware等量化算法,我们进一步优化了矩阵乘和卷积的执行效率。特别是在ARM架构上,这些算法使得量化模型的推理速度提升了30%以上。

横向对比:MNN的性能优势

经过一年的持续优化,MNN在ARM/ARMv8.2架构上的性能提升达10%-20%,而在x64架构上表现尤为突出。与其他开源框架如Bolt、TNN、Mindspore-lite和TFlite的对比,MNN在CPU性能上展现了显著优势。

未来展望:持续创新与优化

随着新硬件架构和压缩算法的不断涌现,MNN将继续秉持通用性为基础、适配新硬件特性的理念,持续优化推理性能,为算法部署提供更强的支持。

通过全面的架构优化、算子统一和硬件适配,MNN在推理引擎领域展现了强大的技术实力和市场潜力。我们将继续在性能优化与生态建设中深耕,让更多开发者能够轻松体验MNN的优势。

转载地址:http://lihf.baihongyu.com/

你可能感兴趣的文章
pg数据库中两个字段相除
查看>>
PhalApi:[1.23] 请求和响应:GET和POST两者皆可得及超越JSON格式返回
查看>>
Phalcon环境搭建与项目开发
查看>>
Phantom.js维护者退出,项目的未来成疑
查看>>
Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
查看>>
Phoenix 查看表信息及修改元数据
查看>>
phoenix_执行sql报错_Error: ERROR 504 (42703): Undefined column. columnName=(state=4270_大数据工作笔记0181
查看>>
phoenix启动失败_The history file `/root/.sqlline/history` may be an older history---记录024_大数据工作笔记0184
查看>>
Phoenix基础命令_视图映射和表映射_数字存储问题---大数据之Hbase工作笔记0036
查看>>
phoenix无法连接hbase shell创建表失败_报错_PleaseHoldException: Master is initializing---记录020_大数据工作笔记0180
查看>>
Phoenix简介_安装部署_以及连接使用---大数据之Hbase工作笔记0035
查看>>
phoenix连接hbase报错Can not resolve hadoop120, please check your network_记录026---大数据工作笔记0187
查看>>
Photoshop工作笔记001---Photoshop常用快捷键总结
查看>>
Reids配置文件redis.conf中文详解
查看>>
Photoshop脚本入门
查看>>
PHP
查看>>
Regular Expression Notes
查看>>
PHP $FILES error码对应错误信息
查看>>
PHP $_FILES函数详解
查看>>
PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
查看>>