经验总结:
- 手机指令集主要跟芯片相关,如果是c端,就默认是arm芯片了,也只有arm芯片才有armv7和armv8之分。
- 如果上MNN的话,MNN的量化都是做在armv8上的
- 现在c端大部分都是64位APP,对应的架构是armv8。
- 寄存器个数不一样,指令集也不一样。需要针对这些不同重新设计计算的方式。
armv7:
- 一般偏低端机才有armv7,而armv7 是可以优化的。
- 模型一般在armv7上跑得较慢,而MNN现在对armv7不能加速。但是据说抖音的都跑在armv7上,且还能加速。
armv8:
- 目前开源的库基本都是在armv8上做的优化。
- armv8 比armv7大概10%~20%的收益,一般能用v8,就不用v7。
- MNN量化之后armv8大概比armv7快一倍。
- tnn的armv8做的还可以,v7这块笔者不太了解,关注得比较少。