[发明专利]适用于神经网络的高效矩阵格式在审
申请号: | 201911338330.0 | 申请日: | 2019-12-23 |
公开(公告)号: | CN111860757A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | M·弗鲁姆金;J·普尔;J·A·拉托雷 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08;G06F17/16 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 神经网络 高效 矩阵 格式 | ||
1.一种数据解压器,包括:
输入电路,被配置为接收压缩数据文件,所述压缩数据文件包括:(a)沿着稀疏矩阵对角线的非零值的流和(b)指示所述非零值的稀疏矩阵位置的掩码;和
解码器,被配置为使用所述掩码来用所述流中的所述非零值填充转置密集矩阵。
2.根据权利要求1所述的数据解压器,其中,所述稀疏矩阵的稀疏性大于0.5。
3.根据权利要求1所述的数据解压器,其中,所述解码器被配置为填充所述转置密集矩阵而不存储中间矩阵数据。
4.根据权利要求1所述的数据解压器,其中,所述解码器被配置为基于所述掩码用所述流中的所述非零值选择性地填充未转置矩阵、未转置密集矩阵、转置稀疏矩阵或所述转置密集矩阵。
5.根据权利要求1所述的数据解压器,其中,所述掩码包括位掩码,其指示所述稀疏矩阵中每个非零值的位置,所述解码器进一步被配置为:
将所述位掩码的第i行向左循环移位i位;
确定所述循环移位后的位掩码的每列中具有非零值的行;以及
针对每个非零值,基于所述循环移位后的位掩码中指示非零值的行和列,确定所述非零值的转置密集矩阵坐标。
6.根据权利要求1所述的数据解压器,其中,所述掩码包括位掩码,其指示所述稀疏矩阵中每个非零值的位置,所述解码器进一步被配置为:
将所述位掩码的第i行向左循环移位i位;
确定包括循环移位后的位掩码的列和的数组S;
确定包括数组S的前缀和的数组;
针对循环移位后的位掩码的每一列j,生成长度为S(j)的向量,其指示列j中具有非零值的行;以及
针对每个非零值,基于具有非零值的行和包括数组S的前缀和的数组,确定转置矩阵坐标。
7.根据权利要求1所述的数据解压器,其中所述压缩数据文件包括神经网络数据。
8.一种处理系统,被配置为执行存储在内存中的负载矩阵指令以:
检索压缩数据,所述压缩数据包括:(a)沿着矩阵对角线的非零值的流和(b)指示所述流中的所述非零值的矩阵位置的掩码;以及
基于所述非零值的流和所述掩码生成密集矩阵和元数据。
9.根据权利要求8所述的处理系统,所述生成的密集矩阵是由所述非零值的流和所述元数据表示的矩阵的转置矩阵。
10.根据权利要求8所述的处理系统,所述生成的密集矩阵存储在寄存器中。
11.根据权利要求8所述的处理系统,由所述非零值的流和所述掩码表示的矩阵包括稀疏度大于0.5的数据。
12.一种由至少一个可编程处理器执行的方法,所述方法包括:
从内存接收压缩矩阵数据,所述压缩矩阵数据包括沿矩阵的对角线的连续非零值的数组和指示非零值的位置的掩码;
基于所述连续非零值的数组和所述掩码生成密集矩阵和/或密集转置矩阵;以及
将所述生成的矩阵或转置矩阵存储在所述内存中。
13.根据权利要求12所述的方法,其中所述转置矩阵被生成,所述方法还包括使用所述生成的转置矩阵执行矩阵乘法运算。
14.根据权利要求12所述的方法,其中所述掩码包括位掩码,生成所述转置矩阵包括:
将所述位掩码的第i行向左循环移位i位;
确定所述循环移位后的位掩码的每列中具有非零值的行;以及
针对每个非零值,基于所述循环移位后的位掩码中指示非零值的行和列,生成所述非零值的矩阵坐标和/或转置矩阵坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911338330.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种订单分配方法、装置、电子设备及存储介质
- 下一篇:一种自动升降混匀装置