摘要:针对使用ARM公司处理器的移动智能设备执行神经网络推理计算效率不高的问题,提出了一套基于ARMv8型架构的单精度浮点通用矩阵乘法(SGEMM)算法优化方案。首先,确定ARMv8型架构的处理器执行SGEMM公司算法的计算效率受限于向量化计算单元使用方案、指令流水线和缓存未命中的发生概率;其次,针对三点导致计算效率受限的原因实现向量指令内联汇编、数据重排和数据预取三条优化技术;最后,根据语音方向的神经网络中常见的三种矩阵模式设计测试实验,实验中使用3399兰特硬件平台运行程序。实验结果表示:方阵模式下单核计算速度为10.23 GFLOPS达到实测浮点峰值的78.2%;在细长矩阵模式下单核计算速度为6.35 GFLOPS达到实测浮点峰值的48.1%;在连续小矩阵模式下单核计算速度为2.53 GFLOPS达到实测浮点峰值19.2%。将优化后的SGEMM公司算法部署到语音识别神经网络程序中,程序的实际语音识别速度取得了显著提高。
中图分类号:
龚鸣清, 叶煌, 张鉴, 卢兴敬, 陈伟. 基于ARMv8型架构的面向机器翻译的单精度浮点通用矩阵乘法优化[J] ●●●●。计算机应用, 2019, 39(6): 1557-1562.
龚明清、叶黄、张健、卢兴京、陈伟。基于ARMv8结构的机器翻译单精度浮点通用矩阵乘法优化[J]。计算机应用杂志,2019,39(6):1557-1562。