首页 | 本学科首页   官方微博 | 高级检索  
     

基于申威1600的3级BLAS GEMM函数优化
引用本文:刘昊,刘芳芳,张鹏,杨超,蒋丽娟.基于申威1600的3级BLAS GEMM函数优化[J].计算机系统应用,2016,25(12):234-239.
作者姓名:刘昊  刘芳芳  张鹏  杨超  蒋丽娟
作者单位:中国科学院 软件研究所, 北京 100190;中国科学院大学, 北京 100190,中国科学院 软件研究所, 北京 100190,中国科学院 软件研究所, 北京 100190;中国科学院大学, 北京 100190,中国科学院 软件研究所, 北京 100190,中国科学院 软件研究所, 北京 100190;中国科学院大学, 北京 100190
基金项目:国家自然科学基金(91530103,91530323)
摘    要:BLAS是当前科学计算领域重要的底层支持数学库之一,其中的3级BLAS函数应用最为广泛.本文基于国产申威1600平台,提出了一种基础线性代数库BLAS的三级函数通用矩阵乘GEMM的高性能实现方法.在单核上,使用乘加指令、循环展开、软件流水线指令重排、SIMD向量化运算、寄存器分块技术等与平台架构相关的技术手段,实现汇编级手工优化;在多核上,提出了适用于该平台的多线程加速方案.实验结果显示,在单核串行性能测试中,与知名开源数学库GotoBLAS相比,我们实现了平均4.72倍的加速效果;在多核并行扩展测试中,4线程版的性能则平均达到了单线程版性能的3.02倍.

关 键 词:申威1600  三级BLAS  GEMM  高性能计算  多核
收稿时间:2016/3/16 0:00:00
修稿时间:2016/4/27 0:00:00

Optimization of BLAS Level 3 Functions on SW1600
LIU Hao,LIU Fang-Fang,ZHANG Peng,YANG Chao and JIANG Li-Juan.Optimization of BLAS Level 3 Functions on SW1600[J].Computer Systems& Applications,2016,25(12):234-239.
Authors:LIU Hao  LIU Fang-Fang  ZHANG Peng  YANG Chao and JIANG Li-Juan
Affiliation:Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;University of Chinese Academy of Sciences, Beijing 100190, China,Institute of Software, Chinese Academy of Sciences, Beijing 100190, China,Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;University of Chinese Academy of Sciences, Beijing 100190, China,Institute of Software, Chinese Academy of Sciences, Beijing 100190, China and Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;University of Chinese Academy of Sciences, Beijing 100190, China
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.
Keywords:Sunway 1600  level 3 BLAS  GEMM  HPC  multi-core
点击此处可从《计算机系统应用》浏览原始摘要信息
点击此处可从《计算机系统应用》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号