[发明专利]一种针对神威体系架构的稀疏矩阵向量乘的并行计算方法有效

专利信息
申请号: 201810262274.6 申请日: 2018-03-28
公开(公告)号: CN108446253B 公开(公告)日: 2021-07-23
发明(设计)人: 杨海龙;刘常喜;李云春;栾钟治 申请(专利权)人: 北京航空航天大学
主分类号: G06F17/16 分类号: G06F17/16
代理公司: 北京科迪生专利代理有限责任公司 11251 代理人: 杨学明;邓治平
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 针对 神威 体系 架构 稀疏 矩阵 向量 并行 计算方法
【权利要求书】:

1.一种针对神威体系架构的稀疏矩阵向量乘的并行计算方法,其特征在于,包括:

将稀疏矩阵由原来的单层次数据结构,分割为多层次数据结构,多层次数据结构包括fleet、block、tile、slice四个层次;fleet为针对稀疏矩阵的行进行切割,是计算单元的任务单元;tile是对fleet针对稀疏矩阵的列进行切割,为每个计算核的任务单元;slice是tile的一行数据,为一次寄存器通信可以传输的任务单元;block为多个连续的slice;

将多层次数据结构分别对应到神威的硬件体系结构和计算层次之中;

将8×8核组的同行的几个从核组合成与多层数据结构中fleet层对应的计算单元来进行协同计算;每个计算单元由一个I/O核和若干个计算核构成,I/O核负责接收计算核计算出的结果,加入到该I/O核对于结果向量的缓存中,并在一个block处理完后,将对应的结果向量缓存写回内存中;

在tile层和slice层之间加入batch机制,每次缓存从核能够承载的最多数量的slices;同时采用异步缓存技术,每次提前缓存下一个batch需要的数据,在计算时直接采用上次已经提前缓存好的数据。

2.根据权利要求1所述的针对神威体系架构的稀疏矩阵向量乘的并行计算方法,其特征在于,计算核的计算流程包括以下步骤:

步骤(1)判断分配的Block是否已经计算完毕,如果是,则执行步骤(8),否则执行步骤(2);

步骤(2)判断Block内部的Tiles是否已经计算完毕,如果是,则执行步骤(7),否则执行步骤(3);

步骤(3)判断Tile内部的Batchs是否计算完毕,如果是,则执行步骤(2),否则执行步骤(4);

步骤(4)缓存该Batch计算需要的所有数据,执行步骤(5);

步骤(5)判断Batch内部的Slices是否计算完毕,如果是,则执行步骤(3),否则执行步骤(6);

步骤(6)计算Slices内部的数据,并在之后将计算结果传入I/O核中,执行步骤(5);

步骤(7)发送一个Block已完成的消息,并等待同步信息,在收到同步信息之后,执行步骤(1);

步骤(8)计算完毕。

3.根据权利要求1所述的针对神威体系架构的稀疏矩阵向量乘的并行计算方法,其特征在于,I/O核的计算流程包括以下步骤:

步骤(a)判断分配的Block是否已经计算完毕,如果是,则执行步骤(i),否则执行步骤(b);

步骤(b)初始化完成任务的计算核数目为0,执行步骤(c);

步骤(c)判断是否所有的计算核都完成了任务,是,则执行步骤(h),否则执行步骤(d);

步骤(d)等待接受计算核发来的消息,执行步骤(e);

步骤(e)判断是否为Block已完成的消息,是,则执行步骤(g),否则执行步骤(f);

步骤(f)将传入的消息加入计算结果的对应位置,执行步骤(d);

步骤(g)累计已完成任务的计算核的数量,执行步骤(c);

步骤(h)发送同步消息给所有的计算核,执行步骤(a);

步骤(i)计算完毕。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810262274.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top