【技术实现步骤摘要】
一种稀疏矩阵加速计算方法、装置、设备及其系统
本专利技术涉及稀疏矩阵
,特别是涉及一种稀疏矩阵加速计算方法、装置、设备及其系统。
技术介绍
随着摩尔定律几近失效,通用处理器(CPU)的计算性能也逼近极限,但是随着现在云计算,大数据,移动互联网,人工智能,5G的蓬勃兴起,对于处理器的计算要求越来越高,因此这两者存在的矛盾将不可避免。稀疏矩阵几乎产生于所有的大型科学工程计算领域,包括现在的大数据,图像处理等热门领域,稀疏矩阵是处理器运算过程中经常出现的数据处理对象,通常会需要由处理器对稀疏矩阵进行相乘处理,举例来说,设稀疏矩阵A为m×p的矩阵,稀疏矩阵B为p×n的矩阵,那么称m×n的稀疏矩阵C为稀疏矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为:由于稀疏矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的分布没有规律,目前按照常规的矩阵计算方式对稀疏矩阵进行计算,极大的浪费存储空间,同时也极大降低了计算速度。因此,如何提供一种计算速度快、存储占用少的稀疏矩阵加速计算方法、装置、设备及其系统是本领域技术人员目前需要解决的问题。专利技 ...
【技术保护点】
1.一种稀疏矩阵加速计算方法,其特征在于,包括:在处理器运算过程中,接收主内存发送的待相乘的两个稀疏矩阵;对每个所述稀疏矩阵进行非零检测,将每个所述稀疏矩阵内的非零数据及其所处的行号和列号进行对应保存;控制两个所述稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果;将所述乘积求和结果及其在两个所述稀疏矩阵的乘积矩阵内所处的行号和列号进行保存,作为两个所述稀疏矩阵的乘积矩阵数据返回所述主内存,供所述处理器依据所述乘积矩阵数据进行运算。
【技术特征摘要】
1.一种稀疏矩阵加速计算方法,其特征在于,包括:在处理器运算过程中,接收主内存发送的待相乘的两个稀疏矩阵;对每个所述稀疏矩阵进行非零检测,将每个所述稀疏矩阵内的非零数据及其所处的行号和列号进行对应保存;控制两个所述稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果;将所述乘积求和结果及其在两个所述稀疏矩阵的乘积矩阵内所处的行号和列号进行保存,作为两个所述稀疏矩阵的乘积矩阵数据返回所述主内存,供所述处理器依据所述乘积矩阵数据进行运算。2.根据权利要求1所述的方法,其特征在于,所述接收主内存发送的待相乘的两个稀疏矩阵的过程具体为:按行接收第一稀疏矩阵A的数据,按列接收第二稀疏矩阵B的数据;其中,乘积矩阵C=AB。3.根据权利要求2所述的方法,其特征在于,每接收一列所述第二稀疏矩阵B的数据后,将接收到的这列数据进行转置,得到转置后的一行数据;将该行数据内包含的非零数据及其行号和列号进行对应保存。4.根据权利要求3所述的方法,其特征在于,所述控制两个所述稀疏矩阵内对应行/列号处的非零数据按照矩阵相乘规则进行乘积求和,得到乘积求和结果的过程,包括:步骤s31:按行号从小到大的顺序,从A中读取行号为n的一行非零数据;步骤s32:按行号从小到大的顺序,从B中读取行号为m的一行非零数据;进入步骤s33;步骤s33:依次比较A中读取到的非零数据与B中读取到的非零数据的列号是否相等,若相等,将两个非零数据相乘,并将乘积与累积值求和,得到新的累积值;所述累积值的初始值为0;A中读取到的非零数据与B中读取到的非零数据全部比较完毕后,保存最终得到的累积值以及所述最终得到的累积值在所述乘积矩阵内所处的行号n和列号m,并令累积值复位为0;步骤s34:判断当前B中是否包含未读取的一行非零数据,若存在,则令m=m+1,返回步骤s32;若不存在,进入步骤s35;步骤s35:判断当前A中是否包含未读取的一行非零数据,若存在,则令n=n+1,返回步骤s31;若不存在,所述乘积矩阵计算完毕。5.根据权利要求1所述的方法,其特征在于,所述接收主内存发送的待相乘的两个稀疏矩阵后,还包括:统计并保存每个所述稀疏矩阵内的数据总数;依据所述数据总数确定每个非零数据的行号和列号。6.根据权利要求1所述的方法,其特征在于,第一稀疏矩阵内的非零数据及其所处的行号和列号保存于32位的第一存储区间内;所述第一存储区间中的高10位地址,用于保存所述第一稀疏矩阵内的非零数据的行号;所述第一存...
【专利技术属性】
技术研发人员:张贞雷,
申请(专利权)人:广东浪潮大数据研究有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。