[发明专利]一种针对神威体系架构的稀疏矩阵向量乘的并行计算方法有效
申请号: | 201810262274.6 | 申请日: | 2018-03-28 |
公开(公告)号: | CN108446253B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 杨海龙;刘常喜;李云春;栾钟治 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 杨学明;邓治平 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 神威 体系 架构 稀疏 矩阵 向量 并行 计算方法 | ||
本发明涉及一种针对神威体系架构的稀疏矩阵向量乘的并行计算方法,包括:将稀疏矩阵由原来的单层次数据结构,分割为多层次数据结构,多层次数据结构包括fleet、block、tile、slice四个层次;将多层次数据结构分别对应到神威的硬件体系结构和计算层次之中,提高了数据的空间和时间局部性,从而减少了从核组和内存之间的交互次数。
技术领域
本发明涉及高性能计算机领域,尤其是涉及适用于神威超级计算机体系架构的稀疏矩阵与稠密向量相乘的并行计算优化方法。
背景技术
稀疏矩阵与稠密向量相乘(Sparse Matrix-vector Multiply,简写为SpMV)是众多领域程序里面一个十分重要,却又独立的计算核心。在流体力学、分子动力学等诸多涉及高性能计算的领域都有着广泛的应用。而且在如佩奇排名(PageRank)、广度优先搜索等图计算领域问题,也都可以抽象为SpMV问题。
SpMV问题在计算过程中有着两个突出的问题,分别是计算和访存模式的不规则。这些不规则是由于访存顺序的随机性导致的,很难利用数据的局部性。由于这种不规则的模式和输入的稀疏矩阵的随机顺序有很大关系,使得其在编译器阶段,很难被解决。而从硬件的角度考虑,这些不规则又会导致隐藏的写冲突问题,从而影响并限制指令级别和线程级别的并行。
这些使得SpMV算法应用到神威超级计算机体系结构上回带来更大的挑战。神威超级计算机是由10649600个SW26010处理器组成的。它以双精度浮点计算125PFLops的计算能力自2016年至当前2018年,蝉联超级计算机top500第一名。神威超级计算机体系架构不同于GPGPU、Intel Xeon Phi等,有着自己独特的设计思路。它有着类似于CPU的主核作为主要处理单元,同时在芯片内,也有着64个从核做为从核组,用作自己的计算加速单元。这个从核组内部每个从核有64KB的局存作为局部缓存数据,同时每一行和每一列的从核之间还可以通过寄存器通信,进行数据的交互。
发明内容
针对现有的SpMV应用于神威超级计算机体系架构计算效率较低的现状,我们提出了一种适用于神威超级计算机体系架构的稀疏矩阵存储结构,以及针对该结构的SpMV的计算方法,该方法能够有效提高SpMV在神威超级计算机体系架构上的计算效率。
本发明提供了一种针对稀疏矩阵与稠密向量相乘的并行计算方法,包括:将稀疏矩阵由原来的单层次数据结构,分割为多层次数据结构,多层次数据结构包括fleet、block、tile、slice四个层次;将多层次数据结构分别对应到神威的硬件体系结构和计算层次之中。
进一步的,为了保证能够及时缓存计算数据,在tile层和slice层之间加入batch机制,每次缓存从核能够承载的最多数量的slices;同时为了减少等待缓存的时间,同时采用异步缓存技术,每次提前缓存下一个batch需要的数据,在计算时直接采用上次已经提前缓存好的数据。
进一步的,将8×8核组的同行的几个从核组合成与多层数据结构中fleet层对应的计算单元来进行协同计算;每个计算单元由一个I/O核和若干个计算核构成,I/O核负责接收计算核计算出的结果,加入到该I/O核对于结果向量的缓存中,并在一个block处理完后,将对应的结果向量缓存写回内存中。这样就将从核组的从核分为了多组计算单元来完成任务,各个计算单元之间任务不需要交互,从而减少了从核组与内存之间的直接交互。
进一步的,计算核的计算流程包括以下步骤:
步骤(1)判断分配的Block是否已经计算完毕,如果是,则执行步骤(8),否则执行步骤(2);
步骤(2)判断Block内部的Tiles是否已经计算完毕,如果是,则执行步骤(7),否则执行步骤(3);
步骤(3)判断Tile内部的Batchs是否计算完毕,如果是,则执行步骤(2),否则执行步骤(4);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810262274.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于转置矩阵以及用于转置输入向量的电路
- 下一篇:数据采集方法及装置