[发明专利]一种带多级Cache的SIMD众核处理器上的稀疏矩阵存储方法有效
申请号: | 201510091269.X | 申请日: | 2015-02-28 |
公开(公告)号: | CN104636273B | 公开(公告)日: | 2017-07-25 |
发明(设计)人: | 韩文廷;张爱民;江霞;安虹;陈俊仕;孙荪;汪朝辉 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811;G06F9/38 |
代理公司: | 北京科迪生专利代理有限责任公司11251 | 代理人: | 杨学明,顾炜 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 暂无信息 | 说明书: | 暂无信息 |
摘要: | 本发明公开了一种带多级Cache的SIMD众核处理器上的稀疏矩阵存储方法,包括(1)获取矩阵A中行非零元个数最大值a,处理器SIMD单元可同时计算的非零元个数b,计算大于a且为b的倍数的最小值作为临时行宽度;(2)对矩阵A,数组Value和Colidx分别顺序存储每一行的非零元值和列坐标,每行非零元个数不足临时行宽度的,在该行尾分别补0和‑1;(3)对Colidx和Value按b列分块;(4)每个列块按行压缩,使列块中有非零元的行集中于列块上部;(6)列块按b行分块,得到子块;(7)去除全零子块,将子块按行存储。本发明的存储方法将稀疏矩阵分成稠密子块,在保留非零元局部性的基础上,提高了对处理器SIMD处理单元以及寄存器的利用率,提高了稀疏矩阵向量乘的性能。 | ||
搜索关键词: | 一种 多级 cache simd 处理器 稀疏 矩阵 存储 方法 | ||
【主权项】:
一种带多级Cache的SIMD众核处理器上的稀疏矩阵存储方法,其特征在于:将稀疏矩阵通过五次矩阵变换后进行存储,包括以下步骤:特征提取及矩阵扫描:获取稀疏矩阵中非零元最多的行的非零元个数a以及处理器SIMD处理单元中可同时计算的非零元个数b,计算得到大于a且为b的整数倍的最小值作为临时行宽度,按行扫描稀疏矩阵A,用数组Value顺序存储稀疏矩阵每一行的非零元,每行非零元个数不足临时行宽度的,在该行后补0,用数组Colidx存储Value中每一个元素对应的列索引值,对Value中的零元,其在Colidx数组中对应的值为‑1;列分块,将特征提取得到的b的值作为列分块宽度,对Colidx数组和Value数组按列划分为多个列块;列压缩,在按列分块的基础上,对每一个块,将其中全零的行去除,并将其余行依次向上压缩;行分块,在列压缩的基础上,对每一个列块在Value和Colidx的值按行宽为b进行按行分块得到子块,并用row_perm数组保存每个子块的行索引信息;按行存储,将子块内的元素按行存储,并将所有的块按行存储,则得到ERB存储格式的稀疏矩阵。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510091269.X/,转载请声明来源钻瓜专利网。
- 上一篇:抽油机皮带调整更换装置
- 下一篇:一种基于差值预测算法的Cache替换策略