主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2019年第10期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
张先轶,王茜,张云泉.OpenBLAS:龙芯3A CPU 的高性能BLAS 库.软件学报,2011,22(zk2):208-216
OpenBLAS:龙芯3A CPU 的高性能BLAS 库
OpenBLAS: A High Performance BLAS Library on Loongson 3A CPU
投稿时间:2011-07-15  修订日期:2011-12-02
DOI:
中文关键词:  BLAS  龙芯3A  性能优化  多核  MIPS64
英文关键词:BLAS  Loongson 3A  optimization  multicore  MIPS64
基金项目:国家自然科学基金(61133005);国家高技术研究发展项目(863)(2009AA01A129, 2009AA01A134);国家重大专项核高基项目(2009ZX01036-001-002)
作者单位E-mail
张先轶 中国科学院 软件研究所 并行软件与计算科学实验室,北京 100190
中国科学院 研究生院,北京 100190 
xianyi@iscas.ac.cn 
王茜 中国科学院 软件研究所 并行软件与计算科学实验室,北京 100190
中国科学院 研究生院,北京 100190 
 
张云泉 中国科学院 软件研究所 并行软件与计算科学实验室,北京 100190
中国科学院 计算机科学国家重点实验室,北京 100190 
 
摘要点击次数: 2970
全文下载次数: 4463
中文摘要:
      BLAS 是科学计算中最基础的数学库之一,各CPU 厂商都推出了针对各自CPU 的优化BLAS 库.龙芯CPU 是中国科学院计算技术研究所自主研制的通用CPU,目前已推出了龙芯3 号系列.介绍了基于GotoBLAS2-1.13 BSD 版的开源项目OpenBLAS,针对龙芯3A CPU 的优化工作.在BLAS 3 级函数的单线程优化上,运用了分块,手工核心汇编,使用龙芯3A 扩展指令、汇编指令重排等技术.BLAS 3 级函数平均性能高于GotoBLAS 和ATLAS75%和17%.其中,双精度函数高于GotoBLAS 和ATLAS 103%和36%.在BLAS 3 级函数并行化方面,采用数据缓冲区交错布局等技术,减少多线程对共享L2 Cache 的争抢.OpenBLAS BLAS 3 级函数的4 线程并行加速比达到3.47.4线程BLAS 3 级函数平均性能高于GotoBLAS 和ATLAS 69%和34%,其中,双精度函数高于GotoBLAS 和ATLAS89%和55%.
英文摘要:
      BLAS is a fundamental math library in scientific computing. Thus, each CPU vendor releases optimized BLAS library for its own CPU. Loongson CPU series are developed by the Institute of Computing Technology, Chinese Academy of Sciences. In 2010, it released Loongson 3 CPU series. This paper introduces the open source BLAS library OpenBLAS, which is forked on GotoBLAS 2-1.13 BSD version. BLAS Level 3 functions of OpenBLAS is optimized on Loongson 3A quad cores CPU. In sequential optimizations, blocking, hand coding assembly kernel, Loongson 3A special instructions and reordering instructions are utilized. The performance of BLAS Level 3 subroutines exceeded GotoBLAS and ATLAS by about 75% and 17%. Meanwhile, it exceeded GotoBLAS and ATLAS by about 103% and 36% in double precision functions. In parallel multi-threads optimization, this study used interleaved data buffer layout to avoid shared L2 Cache conflictions among multi-threads. OpenBLAS achieved 3.47 speedups on quad cores. In 4 threads, the performance of OpenBLAS BLAS Level3 functions exceeded GotoBLAS and ATLAS by about 69% and 34%, 89% and 55% in double precision functions.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会 京ICP备05046678号-4
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利