MobileAIComputeEngine(MACE) 是一个专为移动端异构计算平台优化的神经网络计算框架。主要从以下的角度做了专门的优化:
性能
代码经过NEON指令,OpenCL以及HexagonHVX专门优化,并且采用 Winograd算法来进行卷积操作的加速。此外,还对启动速度进行了专门的优化。
功耗
支持芯片的功耗管理,例如ARM的big.LITTLE调度,以及高通AdrenoGPU功耗选项。
系统响应
支持自动拆解长时间的OpenCL计算任务,来保证UI渲染任务能够做到较好的抢占调度,从而保证系统UI的相应和用户体验。
内存占用
通过运用内存依赖分析技术,以及内存复用,减少内存的占用。另外,保持尽量少的外部依赖,保证代码尺寸精简。
模型加密与保护
模型保护是重要设计目标之一。支持将模型转换成C++代码,以及关键常量字符混淆,增加逆向的难度。
硬件支持范围
支持高通,联发科,以及松果等系列芯片的CPU,GPU与DSP(目前仅支持Hexagon)计算加速。同时支持在具有POSIX接口的系统的CPU上运行。
评论