派大星 · 2020年08月28日

高通神经网络处理引擎SNPE分析与评测

转载自:NeuralTalk

骁龙(SnapDragon)神经处理引擎(SNPE)是一个针对高通骁龙加速深层神经网络的运行时软件,高通在其官网都提供了下载。

=======================================================================

image.png

本文以SNPE 1.23为基准,将结合高通官方的SDK说明文档(高通在CSDN也提供了开发者社区,中文社区论坛,以及SNPE部分文档),介绍SNPE这一高通官方的神经网络处理引擎开发包。

开发中有疑问可在高通的CreatePoint检索相关文档或者在SNPE论坛提交疑问,或发邮件到support.cdmatech@qti.qualcomm.com。

因为SNPE的特殊性,本文重点考察:

  • 不同runtime架构特点,调度关系,尤其是对DSP/AIP的HVX与HTA;
  • 性能:CPU,FXP-CPU,GPU,GPU-FP16,FXP-DSP/FXP-AIP(FXP是int8量化);
  • 模型的int8量化与DSP/AIP的加载时的量化策略。

本文将以如下目录展开:

  1. 高通与骁龙处理器
  2. SNPE特点与工作流
  3. SNPE组成架构
  4. SNPE性能与精度
  5. int8量化策略

1. 高通与骁龙处理器

这部分的内容改写自百度百科的词条:骁龙。高通骁龙是Qualcomm Technologies(美国高通公司)的产品。

1.1 历代产品

在2013年之前,骁龙处理器分为S1,S2,S3,S4四个层级,以区分不同的四代产品。

  1. 骁龙S1(2007-2011):MSM7225/7265采用ARM v6架构、单CPU核心,45nm制程,320MHz的Hexagon QDSP5,未集成GPU;2008年QSD8250/8650发布,Scorpion核心(ARM v7架构),Adreno 200 GPU,600MHz的Hexagon QDSP6。奠定S2/S3形态;
  2. 骁龙S2:由MSM8255/8655、MSM7230/7630和APQ8055构成。均采用了Scorpion CPU、Adreno 204 GPU、256MHz Hexagon QDSP5以及支持双通道333MHz LPDDR2内存,45nm制程,功耗降低。MSM8255处理器:HTC Incredible S、HTC Desire S、索尼爱立信LT15i、LT18i、OPPO R807、诺基亚Lumia 800等大多数的WP7系统手机;
  3. 骁龙S3:进入双核+1080P时代,产品线短,仅有MSM8260/8660和APQ8060三个版本(MSM8260如HTC Sensation、HTC Sensation XE、索尼LT26i、OPPO X905、小米手机),差异在于网络制式,相同点是均为双核Scorpion CPU、Adreno 220 GPU和400MHz Hexagon QDSP6。骁龙S3与骁龙S2、骁龙S1构成了2010年、2011年间QualcommSoC高中低搭配。
  4. 骁龙S4:
  5. Play系列:双核MSM8225/8625和四核MSM8225/8625Q,45nm,CPU为Cortex-A5核心与Adreno 203 GPU;
  6. Plus系列:双核Krait CPU、Adreno 205 GPU;
  7. 高端Pro,Prime系列:MSM8260A/8660A拥有双核Krait CPU、双核/四核Adreno 320。APQ8064拥有高性能四核心Krait CPU。

这一部分虽然只是罗列,但是能看出S1~S4的每一代都几乎都是基于ARM架构+自家DSP+GPU的异构平台。



往期回顾


本作品采用知识共享署名-相同方式共享 4.0 通用许可协议进行许可。
欢迎关注公众号,关注模型压缩、低比特量化、移动端推理加速优化、部署。
嵌入式AI.jpg
更多嵌入式AI相关技术干货请关注嵌入式AI专栏。
推荐阅读
关注数
18801
内容数
1347
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息