[发明专利]一种稀疏矩阵加速计算方法、装置、设备及其系统在审
申请号: | 201811593610.1 | 申请日: | 2018-12-25 |
公开(公告)号: | CN109710213A | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | 张贞雷 | 申请(专利权)人: | 广东浪潮大数据研究有限公司 |
主分类号: | G06F7/78 | 分类号: | G06F7/78 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 510620 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 稀疏矩阵 乘积矩阵 非零 相乘 求和结果 主内存 处理器 保存 存储空间 非零检测 矩阵相乘 数据返回 运算过程 求和 运算 发送 占用 | ||
本发明公开了一种稀疏矩阵加速计算方法,包括:在处理器运算过程中,接收主内存发送的待相乘的两个稀疏矩阵;对每个稀疏矩阵进行非零检测,将每个稀疏矩阵内的非零数据及其所处的行号和列号进行对应保存;控制两个稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果;将乘积求和结果及其在两个稀疏矩阵的乘积矩阵内所处的行号和列号进行保存,作为两个稀疏矩阵的乘积矩阵数据返回主内存,供处理器依据所述乘积矩阵数据进行运算。本发明在稀疏矩阵相乘时,仅对非零数据进行计算和保存,从而减少对存储空间的占用,并且提高计算速度。本发明还公开了一种基于上述方法的装置、设备及其系统。
技术领域
本发明涉及稀疏矩阵技术领域,特别是涉及一种稀疏矩阵加速计算方法、装置、设备及其系统。
背景技术
随着摩尔定律几近失效,通用处理器(CPU)的计算性能也逼近极限,但是随着现在云计算,大数据,移动互联网,人工智能,5G的蓬勃兴起,对于处理器的计算要求越来越高,因此这两者存在的矛盾将不可避免。
稀疏矩阵几乎产生于所有的大型科学工程计算领域,包括现在的大数据,图像处理等热门领域,稀疏矩阵是处理器运算过程中经常出现的数据处理对象,通常会需要由处理器对稀疏矩阵进行相乘处理,举例来说,设稀疏矩阵A为m×p的矩阵,稀疏矩阵B为p×n的矩阵,那么称m×n的稀疏矩阵C为稀疏矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为:
由于稀疏矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的分布没有规律,目前按照常规的矩阵计算方式对稀疏矩阵进行计算,极大的浪费存储空间,同时也极大降低了计算速度。
因此,如何提供一种计算速度快、存储占用少的稀疏矩阵加速计算方法、装置、设备及其系统是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种稀疏矩阵加速计算方法、装置、设备及其系统,在稀疏矩阵相乘时,仅对非零数据进行计算和保存,从而减少对存储空间的占用,并且提高计算速度。
为解决上述技术问题,本发明提供了一种稀疏矩阵加速计算方法,包括:
在处理器运算过程中,接收主内存发送的待相乘的两个稀疏矩阵;
对每个所述稀疏矩阵进行非零检测,将每个所述稀疏矩阵内的非零数据及其所处的行号和列号进行对应保存;
控制两个所述稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果;
将所述乘积求和结果及其在两个所述稀疏矩阵的乘积矩阵内所处的行号和列号进行保存,作为两个所述稀疏矩阵的乘积矩阵数据返回所述主内存,供所述处理器依据所述乘积矩阵数据进行运算。
优选地,所述接收主内存发送的待相乘的两个稀疏矩阵的过程具体为:
按行接收第一稀疏矩阵A的数据,按列接收第二稀疏矩阵B的数据;其中,乘积矩阵C=AB。
优选地,每接收一列所述第二稀疏矩阵B的数据后,将接收到的这列数据进行转置,得到转置后的一行数据;将该行数据内包含的非零数据及其行号和列号进行对应保存。
优选地,所述控制两个所述稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果的过程,包括:
步骤s31:按行号从小到大的顺序,从A中读取行号为n的一行非零数据;
步骤s32:按行号从小到大的顺序,从B中读取行号为m的一行非零数据;进入步骤s33;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东浪潮大数据研究有限公司,未经广东浪潮大数据研究有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811593610.1/2.html,转载请声明来源钻瓜专利网。