面向国产申威26010众核处理器的SpMV实现与优化
作者:
作者单位:

作者简介:

刘芳芳(1982-),女,山西霍州人,高级工程师,CCF专业会员,主要研究领域为高性能扩展数学库,稀疏迭代解法器,异构众核并行;杨超(1979-),男,博士,研究员,博士生导师,主要研究领域为高性能计算,科学与工程计算;袁欣辉(1989-),男,研究实习员,主要研究领域为国产高性能计算机的性能优化,MPI库实现与优化;吴长茂(1974-),男,博士,助理研究员,CCF专业会员,主要研究领域为并行软件,并行算法,并行卫星成像仿真;敖玉龙(1990-),男,博士,CCF专业会员,主要研究领域为大规模并行计算和程序优化

通讯作者:

杨超,E-mail:chao_yang@pku.edu.cn

中图分类号:

基金项目:

国家重点研发计划(2016YFB0200603);国家自然科学基金(91530323)


General SpMV Implementation in Many-Core Domestic Sunway 26010 Processor
Author:
Affiliation:

Fund Project:

National Key R&D Program (2016YFB0200603); National Natural Science Foundation of China (91530323)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    世界首台峰值性能超过100P的超级计算机——神威太湖之光已经研制完成,该超级计算机采用了国产申威异构众核处理器,该处理器不同于现有的纯CPU,CPU-MIC,CPU-GPU架构,采用了主-从核架构,单处理器峰值计算能力为3TFlops/s,访存带宽为130GB/s.稀疏矩阵向量乘SpMV(sparse matrix-vector multiplication)是科学与工程计算中的一个非常重要的核心函数,众所周知,其是带宽受限型的,且存在间接访存操作.国产申威处理器给稀疏矩阵向量乘的高效实现带来了很大的挑战.针对申威处理器提出了一种CSR格式SpMV操作的通用异构众核并行算法,该算法从任务划分、LDM空间划分方面进行精细设计,提出了一套动静态buffer的缓存机制以提升向量x的访存命中率,提出了一套动静态的任务调度方法以实现负载均衡.另外还分析了该算法中影响SpMV性能的几个关键因素,并开展了自适应优化,进一步提升了性能.采用Matrix Market矩阵集中具有代表性的16个稀疏矩阵进行了测试,相比主核版最高有10倍左右的加速,平均加速比为6.51.通过采用主核版CSR格式SpMV的访存量进行分析,测试矩阵最高可达该处理器实测带宽的86%,平均可达到47%.

    Abstract:

    The fastest supercomputer in the world-Sunway TaihuLight with performance of more than 100P has been released. It makes use of heterogeneous many-core processors which is different from the existing pure CPU, CPU-MIC, CPU-GPU architecture. Each processor has 4 core groups (CGs), with each including one management processing element (MPE) and one computing processing element (CPE) cluster of 64 CPEs. The peak performance of single processor is 3TFlops/s, the memory bandwidth is 130GB/s. Sparse matrix-vector multiplication is a very important kernel in scientific and engineering computing, which is bandwidth limited and subject to indirect memory access. Implementing an efficient SpMV kernel is a big challenge in Sunway processor. This paper proposes a general SpMV heterogeneous manycore algorithm for the traditional sparse matrix storage format CSR, which divides the task and LDM space in detail, a cache mechanism of dynamic and static buffers to improve the hit rate of vector x, and a dynamic-static task scheduling method to achieve load balancing. In addition, several key factors affecting the performance of SpMV are analyzed, and adaptive optimization is carried out to further enhance the performance. Finally 16 matrix from matrix market collection are used to perform tests. The experimental results show that the algorithm achieves bandwidth of 86% and average bandwidth utilization of 47%. Compared with the implementation of the controller core, the speedup can be up to 10x, and average speedup is 6.51x.

    参考文献
    相似文献
    引证文献
引用本文

刘芳芳,杨超,袁欣辉,吴长茂,敖玉龙.面向国产申威26010众核处理器的SpMV实现与优化.软件学报,2018,29(12):3921-3932

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2017-01-11
  • 最后修改日期:
  • 录用日期:
  • 在线发布日期: 2018-12-05
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号