###
计算机系统应用英文版:2016,25(12):234-239
本文二维码信息
码上扫一扫!
基于申威1600的3级BLAS GEMM函数优化
(1.中国科学院 软件研究所, 北京 100190;2.中国科学院大学, 北京 100190)
Optimization of BLAS Level 3 Functions on SW1600
(1.Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;2.University of Chinese Academy of Sciences, Beijing 100190, China)
摘要
图/表
参考文献
相似文献
本文已被:浏览 1182次   下载 3800
Received:March 16, 2016    Revised:April 27, 2016
中文摘要: BLAS是当前科学计算领域重要的底层支持数学库之一,其中的3级BLAS函数应用最为广泛.本文基于国产申威1600平台,提出了一种基础线性代数库BLAS的三级函数通用矩阵乘GEMM的高性能实现方法.在单核上,使用乘加指令、循环展开、软件流水线指令重排、SIMD向量化运算、寄存器分块技术等与平台架构相关的技术手段,实现汇编级手工优化;在多核上,提出了适用于该平台的多线程加速方案.实验结果显示,在单核串行性能测试中,与知名开源数学库GotoBLAS相比,我们实现了平均4.72倍的加速效果;在多核并行扩展测试中,4线程版的性能则平均达到了单线程版性能的3.02倍.
中文关键词: 申威1600  三级BLAS  GEMM  高性能计算  多核
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
文章编号:     中图分类号:    文献标志码:
基金项目:国家自然科学基金(91530103,91530323)
引用文本:
刘昊,刘芳芳,张鹏,杨超,蒋丽娟.基于申威1600的3级BLAS GEMM函数优化.计算机系统应用,2016,25(12):234-239
LIU Hao,LIU Fang-Fang,ZHANG Peng,YANG Chao,JIANG Li-Juan.Optimization of BLAS Level 3 Functions on SW1600.COMPUTER SYSTEMS APPLICATIONS,2016,25(12):234-239