面向龙芯3A体系结构的BLAS库优化  被引量:8

Optimization of BLAS for Loongson-3A Architecture

在线阅读下载全文

作  者:何颂颂[1,2] 顾乃杰[1,2] 朱海涛[1,3] 刘燕君[4] 

机构地区:[1]中国科学技术大学计算机科学与技术学院,合肥230027 [2]安徽省计算与通讯软件重点实验室,合肥230027 [3]中国科学院计算技术研究所,北京100190 [4]安徽大学计算机科学与技术学院,合肥230039

出  处:《小型微型计算机系统》2012年第3期571-575,共5页Journal of Chinese Computer Systems

基  金:国家"八六三"高技术研究发展计划项目(2008AA010902)资助;国家自然科学基金项目(60833004)资助

摘  要:双精度普通矩阵乘法DGEMM是BLAS库中最核心的函数之一,大部分三级BLAS库函数的核心计算都是通过调用DGEM M来实现的.该文针对龙芯3A具有128位访存指令的特点,通过理论分析,找到了最佳的循环展开方式;针对龙芯3A的Cache替换策略(随机替换),通过使用地址交错技术,减少了Cache的冲突失效;针对龙芯3A访存带宽有限的问题,通过使用共享数据的任务划分方式,减少了数据访存量.优化后的DGEMM单核和多核运算速度均是性能最高的开源BLAS库(Goto-BLAS)的2倍多.General matrix multiplication of double precision(DGEMM) is one of the most important functions in BLAS library,which is called by many functions in the level-3 BLAS.The theoretical analyses help us find out the best way for loop unrolling contraposing 128-bit memory access instructions of Loongson-3A.By means of address interleaving,cache conflict misses are reduced according to the random cache replacement policy.Considering the limited memory bandwidth of Loongson-3A,task classification on the basis of data sharing is adopted to reduce the data access.The computation speed of the optimized DGEMM on single-core and multi-core is more than twice that of the open source BLAS library of highest performance.

关 键 词:矩阵乘法 BLAS 任务划分 LINPACK 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象