当前位置: 首页 > 专利查询>谷歌公司专利>正文

矩阵处理装置制造方法及图纸

技术编号:15999385 阅读:27 留言:0更新日期:2017-08-15 14:10
本申请涉及矩阵处理装置。提供了方法、系统、和装置,其包括用于将稀疏元素变换为稠密矩阵的系统。所述系统包括数据提取单元,其包括多个处理器,所述数据提取单元被配置为基于对特定稀疏元素的子集的识别,确定用于提取所述特定稀疏元素的所述子集的处理器指定。所述系统包括串接单元,所述串接单元被配置为基于被应用于由所述数据提取单元提取的稀疏元素的变换来生成输出稠密矩阵。

Matrix processing device

The present application relates to a matrix processing apparatus. A method, system, and apparatus are provided that includes a system for converting sparse elements into dense matrices. The system includes data extraction unit, which comprises a plurality of processor, the data extraction unit is configured to identify a subset of specific sparse elements based on the determined for a subset of the extraction of the specific elements of the specified processor sparse. The system includes a concatenation unit configured to generate an output dense matrix based on the transformation of the sparse elements applied to the data extraction unit extracted by the data extraction unit.

【技术实现步骤摘要】
矩阵处理装置
技术介绍
本说明书大体上涉及使用电路来处理矩阵。
技术实现思路
根据本说明书中所描述的主题的一个创新方面,矩阵处理器能够被用来执行稀疏转稠密或者稠密转稀疏矩阵变换。大体上,高效能计算系统可以使用线性代数例程来处理矩阵。在一些实例中,矩阵的大小可能过大而无法存入一个数据存储中,并且该矩阵的不同部分可以被稀疏地存储在分布式数据存储系统的不同位置中。为了加载该矩阵,计算系统的中央处理单元可以指令多个矩阵处理器访问该矩阵的不同部分。每个矩阵处理器可以聚集稀疏数据,以执行对该稀疏数据的并行计算并且生成稠密矩阵,该稠密矩阵能够被串接在一起以供中央处理单元执行进一步的处理。大体上,本说明书中所描述的主题的一个创新方面能够被替选在用于将稀疏元素变换为稠密矩阵的系统中。所述系统包括请求识别单元,所述请求识别单元被配置为:通过节点网络来接收对于存储在一个或多个数据片(datashard)中的特定稀疏元素的请求;确定所述系统被指派来处置(handle)所述特定稀疏元素的子集;以及响应于确定所述系统被指派来处置所述特定稀疏元素的所述子集,生成访问所述特定稀疏元素的所述子集的指示。所述系统包括数据提取单元,其包括多个处理器,所述数据提取单元被配置为:从所述请求识别单元接收访问特定稀疏元素的所述子集的所述指示;基于对所述特定稀疏元素的所述子集的识别,确定用于提取所述特定稀疏元素的所述子集的处理器指定;基于所述指定由所述多个处理器中的第一处理器来提取所述特定稀疏元素的所述子集中的第一稀疏元素;以及基于所述指定由所述多个处理器中的第二处理器来提取所述特定稀疏元素的所述子集中的第二稀疏元素。所述系统包括串接单元,所述串接单元被配置为:基于至少被应用于所述第一稀疏元素和所述第二稀疏元素的变换来生成输出稠密矩阵。这些或其他实施方式均能够可选地包括以下特征中的一个或多个。例如,所述系统能够包括稀疏降低单元,所述稀疏降低单元被配置为接收包括来自所述第一处理器的所述第一稀疏元素的第一矩阵,所述第一矩阵具有第一维度;以及生成包括所述第一稀疏元素的第二矩阵,所述第二矩阵具有小于所述第一维度的第二维度。所述串接单元可以进一步被配置为接收所述第二矩阵。为了生成所述输出稠密矩阵,可以基于所述第二矩阵来生成所述输出稠密矩阵。所述串接单元可以被配置为在第一时间点接收所述第一稀疏元素;在不同的第二时间点接收所述第二稀疏元素;以及针对所述输出稠密矩阵来确定所述第一稀疏元素和所述第二稀疏元素的顺序。为了生成所述输出稠密矩阵,可以基于所述第一稀疏元素和所述第二稀疏元素的所述顺序来生成所述输出稠密矩阵。所述系统可以包括压缩/解压缩单元,所述压缩/解压缩单元被配置为压缩所述输出稠密矩阵以生成压缩输出稠密矩阵,以及向节点网络提供所述压缩输出稠密矩阵。所述串接单元可以进一步被配置为接收表示通过节点网络所发送的稠密矩阵的第一稠密矩阵。为了生成所述输出稠密矩阵,可以基于所述第一稠密矩阵、所述第一稀疏元素、以及所述第二稀疏元素来生成所述输出稠密矩阵。所述压缩/解压缩单元可以被配置为对压缩第一稠密矩阵解压缩以生成所述第一稠密矩阵。为了确定所述系统被指派来处置所述特定稀疏元素的所述子集,所述数据提取单元可以基于查找表来确定所述系统被指派来处置所述特定稀疏元素的子集。所述特定稀疏元素中的一个或多个稀疏元素可以是多维矩阵,并且所述输出稠密矩阵可以是向量。本说明书中所描述的主题能够以特定实施例来实现以便达到以下优点中的一个或多个。将稀疏转稠密数据加载任务从中央处理单元转移到专门的矩阵处理器提高了中央处理单元的计算带宽并且降低了所述系统的处理成本。该矩阵处理器能够被布置在存储数据的存储器附近,并且能够降低加载数据的时延。通过使用专门的矩阵处理器,能够避免将专用于稠密线性代数的处理器用于提取稀疏数据。通过每控制器通道具有多个单元,一次所服务的多个并发事务可以被并行化,并且事务可以被立即处理而无需等待先前的事务完成。以上和其他方面的其他实施方式包括对应的系统、装置、和计算机程序,其被配置来执行所述方法的动作,并且被编码在计算机存储设备上。一个或多个计算机的系统能够依靠安装在所述系统上的软件、固件、硬件、或它们的组合来被如此配置,从而在操作中使得所述系统执行所述动作。一个或多个计算机程序能够依靠具有指令来被如此配置,所述指令在由数据处理装置执行时,使得所述装置执行所述动作。在附图和下面的描述中阐述了本说明书中所描述的主题的一个或多个实施方式的细节。本主题的其他潜在特征、方面、和优点根据说明书、附图、和权利要求书将变得显而易见。附图说明图1是示例计算系统的框图。图2A至图2D图示了示例稀疏-稠密变换单元。图3A至图3B图示了示例稀疏元素访问单元。图4是图示了用于生成稠密矩阵的过程的示例的流程图。图5是图示了用于将稀疏元素变换为稠密矩阵的过程的示例的流程图。各附图中相似的附图标记和名称指示相似的元素。具体实施方式大体上,数据能够以矩阵的形式来表示并且计算系统可以使用线性代数算法来对该数据进行操纵。矩阵可以是一维向量或者是多维矩阵。矩阵可以由数据结构来表示,诸如数据库表或变量。然而,当矩阵的大小过大时,将整个矩阵存储在一个数据存储中也许是不可能的。稠密矩阵可以被变换为多个稀疏元素(element),其中每个稀疏元素可以被存储在不同的数据存储中。稠密矩阵的稀疏元素可以是其中仅该矩阵的小的子矩阵(例如,单值元素、行、列、或子矩阵)具有非零值的矩阵。当计算系统需要访问该稠密矩阵时,中央处理单元(CPU)可以开始一个线程,该线程到达数据存储中的每一个以提取存储的稀疏元素并且应用稀疏转稠密变换以恢复该稠密矩阵。然而,提取全部的稠密元素所用的时间量可能很长,并且CPU的计算带宽可能因此未被充分利用。在一些情况下,计算系统可能需要访问若干稠密矩阵的稀疏元素以形成新的稠密矩阵,其中这些稠密矩阵可以不具有相等的维度。与到达数据存储中的每一个以提取不同稠密矩阵的稀疏元素的线程相关联的CPU空闲时间可能遇到不同的等待时间,并且可能进一步以不期望的方式影响计算设备的效能。在一些情况下,计算系统可能需要访问若干稠密矩阵的稀疏元素以形成新的稠密矩阵,其中这些稀疏元素可以不具有相等的维度。与到达数据存储中的每一个以提取不同稠密矩阵的稀疏元素的线程相关联的CPU空闲时间可能遇到不同的等待时间,并且可能进一步以不期望的方式影响计算设备的效能。与CPU分离的硬件稀疏-稠密变换单元可以通过独立于CPU操作来收集稀疏元素并且将该稀疏元素变换为稠密矩阵而提高处理器的计算带宽。图1示出了用于变换来自一个或多个稠密矩阵的稀疏元素以生成稠密矩阵的示例计算系统100的框图。计算系统100包括处理单元102、稀疏-稠密变换单元104、和数据片106a-106k,其中k是大于1的整数。大体上,处理单元102处理用于访问目标稠密矩阵的指令,并且将指令110发送至稀疏-稠密变换单元104以生成目标稠密矩阵。稀疏-稠密变换单元104访问来自数据片106a-106k中的一个或多个数据片的对应的稀疏元素108a-108n,其中n是大于1的整数。稀疏-稠密变换单元104使用对应的稀疏元素108a-108n来生成目标稠密矩阵112,并且将目标稠密矩阵1本文档来自技高网...
矩阵处理装置

【技术保护点】
一种用于将稀疏元素变换为稠密矩阵的系统,所述系统包括:数据提取单元,所述数据提取单元包括多个处理器,所述数据提取单元被配置为:接收访问存储在一个或多个数据片中的多个特定稀疏元素的子集的指示;基于对所述多个特定稀疏元素的所述子集的识别,确定用于提取所述多个特定稀疏元素的所述子集的处理器指定;基于所述处理器指定由所述多个处理器中的第一处理器来提取所述多个特定稀疏元素的所述子集中的第一稀疏元素;以及基于所述处理器指定由所述多个处理器中的第二处理器来提取所述多个特定稀疏元素的所述子集中的第二稀疏元素;以及串接单元,所述串接单元被配置为:基于至少被应用于所述第一稀疏元素和所述第二稀疏元素的变换来生成输出稠密矩阵。

【技术特征摘要】
2016.02.05 US 15/016,4861.一种用于将稀疏元素变换为稠密矩阵的系统,所述系统包括:数据提取单元,所述数据提取单元包括多个处理器,所述数据提取单元被配置为:接收访问存储在一个或多个数据片中的多个特定稀疏元素的子集的指示;基于对所述多个特定稀疏元素的所述子集的识别,确定用于提取所述多个特定稀疏元素的所述子集的处理器指定;基于所述处理器指定由所述多个处理器中的第一处理器来提取所述多个特定稀疏元素的所述子集中的第一稀疏元素;以及基于所述处理器指定由所述多个处理器中的第二处理器来提取所述多个特定稀疏元素的所述子集中的第二稀疏元素;以及串接单元,所述串接单元被配置为:基于至少被应用于所述第一稀疏元素和所述第二稀疏元素的变换来生成输出稠密矩阵。2.根据权利要求1所述的系统,进一步包括:请求识别单元,所述请求识别单元被配置为:通过节点网络来接收对于所述多个特定稀疏元素的请求;确定所述系统被指派来处置所述多个特定稀疏元素的所述子集;以及响应于确定所述系统被指派来处置所述多个特定稀疏元素的所述子集,向所述数据提取单元生成访问所述多个特定稀疏元素的所述子集的所述指示。3.根据权利要求2所述的系统,其中,确定所述系统被指派来处置所述多个特定稀疏元素的所述子集包括:基于查找表来确定所述系统被指派来处置所述多个特定稀疏元素的所述子集。4.根据权利要求1所述的系统,进一步包括:稀疏降低单元,所述稀疏降低单元被配置为:接收包括来自所述第一处理器的所述第一稀疏元素的第一矩阵,所述第一矩阵具有第一维度;以及生成包括所述第一稀疏元素的第二矩阵,所述第二矩阵具有小于所述第一维度的第二维度,其中,所述串接单元进一步被配置为:接收所述第二矩阵;其中,生成所述输出稠密矩阵进一步包括基于所述第二矩阵来生成所述输出稠密矩阵。5.根据权利要求1所述的系统,其中,所述串接单元被配置为:在第一时间点接收所述第一稀疏元素;在不同的第二时间点接收所述第二稀疏元素;以及针对所述输出稠密矩阵来确定所述第一稀疏元素和所述第二稀疏元素的顺序,其中,生成所述输出稠密矩阵进一步包括:基于所述第一稀疏元素和所述第二稀疏元素的所述顺序来生成所述输出稠密矩阵。6.根据权利要求1所述的系统,进一步包括:压缩/解压缩单元,所述压缩/解压缩单元被配置为:压缩所述输出稠密矩阵以生成压缩输出稠密矩阵;以及向节点网络提供所述压缩输出稠密矩阵。7.根据权利要求1所述的系统,其中,所述串接单元进一步被配置为接收表示通过节点网络所发送的稠密矩阵的第一稠密矩阵,以及其中,生成所述输出稠密矩阵进一步包括:基于所述第一稠密矩阵、所述第一稀疏元素、以及所述第二稀疏元素来生成所述输出稠密矩阵。8.根据权利要求7所述的系统,其中,所述压缩/解压缩单元被配置为对压缩第一稠密矩阵解压缩以生成所述第一稠密矩阵。9.根据权利要求1所述的系统,其中,所述多个特定稀疏元素中的一个或多个稀疏元素为多维矩阵,并且其中,所述输出稠密矩阵为向量。10.一种用于将稀疏元素变换为稠密矩阵的方法,包括:由具有多个处理器的数据提取单元接收访问特定稀疏元素的子集的指示;基于对所述多个特定稀疏元素的所述子集的识别,确定用于提取所述多个特定稀疏元素的所述子集的处理器指定;基于所述处理器指定由所述多个处理器中的第一处理器来提取所述多个特定稀疏元素的所述子集中的第一稀疏元素;以及基于所述处理器指定由所述多个处理器中的第二处理器来提取所述多个特定稀疏元素的所述子集中的第二稀疏元素;以及由串接单元基于至少被应用于所述第一稀疏元素和所述第二稀疏元素的变换来生成输出稠密矩阵。11.根据权利要求10所述的方法,进一步包括:由稀疏降低单元接收包括来自所述第一处理器的所述第一稀...

【专利技术属性】
技术研发人员:拉维·纳拉亚纳斯瓦米拉胡尔·纳加拉扬禹同爀克里斯多佛·丹尼尔·利里
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1