中国科学院软件研究所

中国科学院软件研究所

ID:431181

大小:1.06 MB

页数:12页

时间:2017-08-01

中国科学院软件研究所_第1页
中国科学院软件研究所_第2页
中国科学院软件研究所_第3页
中国科学院软件研究所_第4页
中国科学院软件研究所_第5页
资源描述:

《中国科学院软件研究所》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中国科学院软件研究所杰出青年人才发展专项计划年度进展报告书(2011年度)姓名张云泉课题名称并行算法与并行软件课题起止时资助金额160.00万元2009.9-2013.9间资助类别应用基础所在部门并行软件与计算科学实验室研究工作主要进展和阶段性成果(含论文、研究生培养等)2011年,在所基础青年人才发展专项计划的支持下,开展了如下研究工作:1.主持的国家863子课题,开展地球外核热流动的大规模可扩展并行数值模拟软件平台的研究,在国产千万亿次平台天河一号A上实现了超过数万处理器核的可扩展性:从3072至24576核,并行效

2、率达到87%,且成功尝试了120亿网格的运算规模,超过课题验收指标一个数量级,受到863重点项目专家组的好评。2.在核高基国家重大专项(软件类)的资助下,作为课题负责人,带领团队研制成功针对龙芯3多核CPU的新一代国产高性能扩展数学库CLeXMLV1.0版和针对X86平台的国产高性能扩展数学库CASIMLV1.0版。两个软件包都包含BLAS、LAPACK、FFT、直接解法器和迭代解法器等5个模块,采用了自适应性能优化、地址交错和多核并行化等技术进行性能优化。已经申请计算机软件著作权登记:X86CPU多核高性能数学库软件(

3、登记号:2011SR092896)并与Intel公司开发的MKL10.1版做了对比测试。在X86平台,CASIML库5个模块单线程和8线程相对于Intel公司开发的MKL10.1版本的平均加速比达到了1.08和1.46。CLeXML是我国自主开发的一款面向国产处理器的多核版高性能数学库,拥有自主知识产权、掌握源代码,且与Intel公司开发的MKL数学库性能相当。该数学库的开发,打破国外高性能计算机厂商在高性能数学库方面的长期垄断,填补国内无国产高性能数学库的空白,也大大降低了我国国产CPU的普及和应用难度。3.CPU上并

4、行算法优化研究进展1)基于RAM(h)层次存储计算模型的理论分析结果,创新性的提出CRSD新稀疏矩阵存储格式。该工作的论文已被Euro-Par2011录取。SpMV是求解PDE的一个核心算法,根据应用矩阵非零元的对角线式的分布特点创新性地提出了CRSD矩阵存储格式。该存储格式针对同一应用对角线格式在不同问题规模下,对角线分布具有相似性进行优化。通过对角线格式表示对角线分布。并通过自适应优化方法基于具体运行平台选择最优的SpMV实现。测试结果表明,所提出的新存储格式针对不同问题规模的矩阵,在不同线程下均优于MKL中基于CS

5、R的SpMV实现,测试的性能与加速比结果如下图6所示。可以看出CRSD在单线程下,相对经典存储格式CSR运行效率,加速比平均为3.05倍,最高可以到达4.38倍;相对于MKL的DIA存储格式,对于不适合DIA存储格式的矩阵,CRSD同样1有很好的加速效果,如图中编号为4和5的矩阵,加速比可以达到90倍以上,除此之外,其余最高加速比为2.02,平均加速比为1.74。在多核情况下,CRSD的加速效果在相同处理器下,是CSR存储格式的2.16倍,最高可以达到4.61倍。图1不同矩阵存储格式的性能比较2)龙芯3上BLAS的性能优

6、化工作,相关工作在HPCChina2011上进行了交流,并被推荐到《软件学报》发表。所研制的OpenBLAS软件包已经成为国际开源项目,https://github.com/xianyi/OpenBLAS,下载量达到1676次,有若干国际知名公司开始资助该项目,逐渐取代国际知名的GotoBLAS软件包的位置。BLAS(BasicLinearAlgebraSubprograms)是一个基本线性代数核心子程序集,主要包括向量和矩阵的基本操作。OpenBLAS是我们在GotoBLAS2-1.13BSD版基础上发展起来的BLAS

7、库开源项目,当前主要工作是为龙芯3ACPU提供高性能的BLAS库实现。该项目针对龙芯3ACPU的结构特点,通过分块选择,手工优化汇编,应用128bit访存指令,指令重排等技术对BLAS三级函数GEMM(矩阵乘法)函数进行实现与优化。图2GEMM核心汇编代码片断在双精度和双精度复数情况下,OpenBLAS优势明显,平均性能超过ATLAS39.6%和27.7%,相对于GotoBLAS平均性能提升分别为109.5%和107.3%。在单精度和单精度复数下,OpenBLAS相对于ATLAS的优势并不明显,分别只高出5.0%和2.0

8、%;相对于GotoBLAS,性能分别提升52.0%和51.1%。因此,OpenBLAS在单精度和单精度GEMM还具有明显的改进空间,我们推测是在OpenBLAS中没有使用单精度浮点向量(ps)指令,造成性能稍低。图3单线程BLAS3级函数平均性能对比图2在多核情况中,各线程所需计算的子矩阵的总空间约为3.6M,由于龙

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。