计算机应用››2019,第39卷››问题(6): 1557-1562.内政部:10.11772/j.issn.1001-9081.2018122608

• 2018全国高性能计算学术年会(HPC中国2018)    下一篇

基于ARMv8型架构的面向机器翻译的单精度浮点通用矩阵乘法优化

龚鸣清1,2,3,叶煌1,张鉴1,卢兴敬,陈伟  

  1. 1中国科学院 计算机网络信息中心, 北京 100190;
    2中国科学院大学, 北京 100049;
    三。北京搜狗科技发展有限公司, 北京 100084
  • 收稿日期:2018-12-12 修回日期:2019-02-28 发布日期:2019-06-17 出版日期:2019-06-10
  • 通讯作者:张鉴
  • 作者简介:龚鸣清(1994-),男,湖北黄冈人,硕士研究生,主要研究方向:高性能计算、机器学习;叶煌(1979-),男,江西铜鼓人,副研究员,博士,主要研究方向:高性能计算;张鉴(1972-),男,北京人,研究员,博士,博士生导师,共因失效会员,主要研究方向:高性能计算、科学计算、科学计算可视化;卢兴敬(1983-),男,山东临沂人,博士,共因失效会员,主要研究方向:高性能计算、深度学习、并行编程、编译技术;陈伟(1984-),男,内蒙古呼和浩特人,博士,共因失效会员,主要研究方向:人机交互、机器翻译、深度学习。
  • 基金资助:
    国家重点研发计划项目(2016YFB02011002017YFB0202803)国家自然科学基金资助项目(11871454,91630204,61531166003);中国科学院战略性先导科技专项(乙)(XDB22020102)中国科学院信息化专项(XXH13506-204)

基于ARMv8体系结构的机器翻译单精度浮点通用矩阵乘法优化

龚明清1,2,3,叶黄1,张健1,卢兴静,陈伟  

  1. 1.中国科学院计算机网络信息中心,北京100190;
    2.中国科学院大学,北京100049;
    3.北京搜狗科技发展有限公司,中国北京100084
  • 收到:2018-12-12 修订过的:2019-02-28 在线:2019-06-17 出版:2019-06-10
  • 支持单位:
    这项工作得到了国家重点研发计划(2016YFB0201100、2017YFB0202803)、国家自然科学基金(11871454、91630204、61531166003)、中国科学院战略优先研究计划(B)(XDB22020102)、,中国科学院电子科学基金项目(XXH13506-204)。

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

关键词: ARMv8, 单指令多数据流计算, 基础线性代数子程序库, 高性能计算

摘要:针对移动智能设备使用ARM处理器执行神经网络推理计算效率低的问题,提出了一套基于ARMv8结构的单精度浮点通用矩阵乘法(SGEMM)算法优化方案。首先,确定了基于ARMv8体系结构的处理器执行SGEMM算法的计算效率受到矢量化计算单元使用方案、指令管道和缓存丢失发生概率的限制。其次,三种优化技术:矢量指令内联汇编、,由于计算效率有限的三个原因,实现了数据重排和数据预取。最后,基于语音方向神经网络中常用的三种矩阵模式设计了测试实验,并在RK3399硬件平台上运行了程序。实验结果表明,在平方矩阵模式下,单核计算速度为10.23 GFLOPS,达到测量浮点峰值的78.2%;细长矩阵模式下的单核计算速度为6.35 GFLOPS,达到测量浮点峰值的48.1%;在连续小矩阵模式下,单核计算速度为2.53 GFLOPS,达到测量浮点峰值的19.2%。将优化后的SGEMM算法部署到语音识别神经网络程序中,大大提高了程序的实际语音识别速度。

关键词: ARMv8, 单指令多数据, 基本线性代数子程序, 高性能计算

中图分类号: