【技术实现步骤摘要】
适用于神经网络的高效矩阵格式
该技术涉及数据集的压缩和解压缩,以用于紧凑存储和通信,更具体地涉及压缩稀疏矩阵数据,以便随后以转置和/或非转置形式进行解压缩。该技术还涉及稀疏矩阵数据的压缩和解压缩,以用于例如深度学习、机器学习和人工智能系统等。该技术还涉及在深度神经网络(DNN)中生成、存储和/或使用压缩的和解压缩的稀疏矩阵数据的图形处理单元(GPU)。
技术介绍
大规模并行处理系统,诸如GPU(图形处理单元),包括许多高性能处理单元,这些处理单元可以同时并行执行算术运算。大量的并行处理单元使其非常适合并行处理大型数据集。这些系统虽然可以使用并行处理加快处理大型数据集,但是对大型数据集执行计算的巨大成本是内存延迟和带宽。数据压缩可以用来减少内存延迟和传输延迟。数据压缩器减小了用于存储和/或通信的数据大小。数据解压器可用于恢复数据以供进一步处理和用于其他用途。数据压缩可以是有损的,也可以是无损的。有损编码方法使用不精确的近似和/或去除不想要或不需要的数据。MP3音频、H.265视频和JPEG图像就是有损编码的例子。这种压 ...
【技术保护点】
1.一种数据解压器,包括:/n输入电路,被配置为接收压缩数据文件,所述压缩数据文件包括:(a)沿着稀疏矩阵对角线的非零值的流和(b)指示所述非零值的稀疏矩阵位置的掩码;和/n解码器,被配置为使用所述掩码来用所述流中的所述非零值填充转置密集矩阵。/n
【技术特征摘要】
20190429 US 16/397,0341.一种数据解压器,包括:
输入电路,被配置为接收压缩数据文件,所述压缩数据文件包括:(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所述的处理系统,所述生成...
【专利技术属性】
技术研发人员:M·弗鲁姆金,J·普尔,J·A·拉托雷,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。