基于申威1600的3级BLAS GEMM函数优化
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

基金项目:

国家自然科学基金(91530103,91530323)


Optimization of BLAS Level 3 Functions on SW1600
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    BLAS是当前科学计算领域重要的底层支持数学库之一,其中的3级BLAS函数应用最为广泛.本文基于国产申威1600平台,提出了一种基础线性代数库BLAS的三级函数通用矩阵乘GEMM的高性能实现方法.在单核上,使用乘加指令、循环展开、软件流水线指令重排、SIMD向量化运算、寄存器分块技术等与平台架构相关的技术手段,实现汇编级手工优化;在多核上,提出了适用于该平台的多线程加速方案.实验结果显示,在单核串行性能测试中,与知名开源数学库GotoBLAS相比,我们实现了平均4.72倍的加速效果;在多核并行扩展测试中,4线程版的性能则平均达到了单线程版性能的3.02倍.

    Abstract:

    BLAS is one of the most important basic underlying math library for scientific computing,in which the level 3 BLAS functions are most widely used.In this paper,we provide a high-performance method to implement Level 3 BLAS functions based on domestic Sunway 1600 platform.To make it clear,we take GEMM as an example.For the implementation on single-core,we apply many tuning techniques related to the specific platform,such as multiply-add instructions,loop unrolling,software pipelining and instruction rearrangement,SIMD operations,and register blocking to push up the performance.For the multi-core implementation,we propose an efficient multi-threaded method.Compared with GotoBLAS,one of the famous open-source BLAS,the experiments show that our serial single-threaded method achieves a speedup of 4.72.What's more,the average speedup of 4-threaded execution towards the single-threaded one can also reach 3.02.

    参考文献
    相似文献
    引证文献
引用本文

刘昊,刘芳芳,张鹏,杨超,蒋丽娟.基于申威1600的3级BLAS GEMM函数优化.计算机系统应用,2016,25(12):234-239

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2016-03-16
  • 最后修改日期:2016-04-27
  • 录用日期:
  • 在线发布日期: 2016-12-14
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京海淀区中关村南四街4号 中科院软件园区 7号楼305房间,邮政编码:100190
电话:010-62661041 传真: Email:csa (a) iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号