-
题名选择稀疏矩阵乘法最优存储格式的研究
被引量:10
- 1
-
-
作者
李佳佳
张秀霞
谭光明
陈明宇
-
机构
计算机体系结构国家重点实验室(中国科学院计算技术研究所)
中国科学院大学
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2014年第4期882-894,共13页
-
基金
国家自然科学基金项目(61272134
61033009
+3 种基金
61003062
60925009)
国家"九七三"重点基础研究发展计划基金项目(2011CB302502
2012CB316502)
-
文摘
稀疏矩阵向量乘法(sparse matrix vector multiplication,SpMV)是科学和工程领域中重要的核心子程序之一,也是稀疏基本线性代数子程序(basic linear algebra subprograms,BLAS)库的重要函数.目前很多SpMV的优化工作在不同程度上获得了性能提升,但大多数优化工作针对特定存储格式或一类具有特定特征的稀疏矩阵缺乏通用性,因此高性能的SpMV实现并没有广泛地应用于实际应用和数值解法器中.另外,稀疏矩阵具有众多存储格式,不同存储格式的SpMV存在较大性能差异.根据以上现象,提出一个SpMV的自动调优器(SpMV auto-tuner,SMAT).对于一个给定的稀疏矩阵,SMAT结合矩阵特征选择并返回其最优的存储格式,应用程序通过调用SMAT来得到合适的存储格式,从而获得性能提升,同时随着SMAT中存储格式的扩展,更多的SpMV优化工作可以将性能优势在实际应用中发挥作用.使用佛罗里达大学的2 366个稀疏矩阵作为测试集,在Intel上SMAT分别获得9.11GFLOPS(单精度)和2.44GFLOPS(双精度)的最高浮点性能,在AMD平台上获得了3.36GFLOPS(单精度)和1.52GFLOPS(双精度)的最高浮点性能.相比Intel的核心数学函数库(math kernel library,MKL)数学库,SMAT平均获得1.4~1.5倍的性能提升.
-
关键词
SpMV
自动调优
数值解法器
稀疏矩阵
SpBLAS
-
Keywords
SpMV
auto-tuning
numerical solver
sparse matrix
SpBLAS
-
分类号
TP302
[自动化与计算机技术—计算机系统结构]
-