[发明专利]一种稀疏矩阵存算系统及方法有效
申请号: | 202110717321.3 | 申请日: | 2021-06-28 |
公开(公告)号: | CN113506589B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 李祎;杨岭;缪向水 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G11C8/06 | 分类号: | G11C8/06;G11C8/08;G11C8/10;G11C8/16 |
代理公司: | 武汉华之喻知识产权代理有限公司 42267 | 代理人: | 李君;方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 稀疏 矩阵 系统 方法 | ||
1.一种稀疏矩阵存算系统,其特征在于,包括:两两相互连接的第一存储阵列、第二存储阵列、第一外围电路、第二外围电路、主处理器、片上缓存和分块存储调度单元;
所述第一存储阵列用于存储稀疏矩阵非零元的坐标索引表;所述第二存储阵列用于存储稀疏矩阵的元素,同时作为稀疏矩阵乘法运算的原位计算核;
所述片上缓存用于在执行稀疏矩阵乘法运算时加载稀疏矩阵的索引表,并将索引表中地址译码和选通开关位置的选择分别传送至第一外围电路和第二外围电路;并存储中间运算结果,待计算任务全部结束,将所有中间运算结果返回至主处理器;
所述分块存储调度单元用于将稀疏矩阵分块成若干子矩阵后,按照不同的压缩格式将各子矩阵存储至第二存储阵列;且建立剩余子矩阵对应的索引表,存储至第一存储阵列;
所述第一外围电路用于根据接收的地址译码,对第一存储阵列中的索引表进行读写,将读写的稀疏矩阵的索引表传输至片上缓存;
所述第二外围电路用于将向量转换为电压信号,并根据选通开关位置的选择打开对应的开关,电压信号通过已打开的开关施加在稀疏矩阵的子矩阵对应的位线或字线上,并通过字线或位线读取中间运算结果存入片上缓存;
所述主处理器用于分析稀疏矩阵的类型;接收中间运算结果;并将接收的向量传递至第二外围电路;
其中,按照不同的压缩格式存储子矩阵的方法为:
剔除全0的子矩阵,并对剩余的各子矩阵前端和末端全零的行或列进行剔除,只存储非零元的行或列。
2.根据权利要求1所述的稀疏矩阵存算系统,其特征在于,对子矩阵进行压缩时,采用直接调用缩行存储格式,将非零元素左移,使所有的元素压缩至同一行中进行存储。
3.根据权利要求1所述的稀疏矩阵存算系统,其特征在于,所述第一存储阵列和所述第二存储阵列的结构为十字交叉杆结构,或晶体管-忆阻器级联结构,或单晶体管-多忆阻器级联结构。
4.根据权利要求1或3所述的稀疏矩阵存算系统,其特征在于,所述第一存储阵列和所述第二存储阵列中的存储器为忆阻器,或阻变存储器,或相变存储器,或自选转移力矩-磁随机存储器,或NOR Flash器件或NAND Flash器件。
5.根据权利要求4所述的稀疏矩阵存算系统,其特征在于,所述第一外围电路包括读写电路、驱动电路、数模转换器、模数转换器和地址译码器;
所述第二外围电路包括读写电路、驱动电路、数模转换器、模数转换器和选通开关。
6.一种稀疏矩阵存算方法,其特征在于,包括以下步骤:
通过识别判断稀疏矩阵的类型,将稀疏矩阵进行分割后,按照不同的压缩格式进行存储,并建立各子矩阵对应的索引表;
当执行稀疏矩阵向量乘法运算时,将向量转换为电信号;
以各子矩阵为单元,顺次根据各子矩阵对应索引表中的地址译码,将电信号加载至子矩阵中,完成当前子矩阵与向量之间的乘法累加运算,存储当前中间运算结果;
其中,按照不同的压缩格式存储子矩阵的方法为:
剔除全0的子矩阵,并对剩余的各子矩阵前端和末端全零的行或列进行剔除,只存储非零元的行或列。
7.根据权利要求6所述的稀疏矩阵存算方法,其特征在于,所述子矩阵支持采用直接调用缩行存储格式,将非零元素左移,使所有的元素压缩至同一行中进行存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110717321.3/1.html,转载请声明来源钻瓜专利网。