当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于网络规模k均值群集的硬件加速器架构和模板制造技术

技术编号:18426055 阅读:27 留言:0更新日期:2018-07-12 01:55
本发明专利技术涉及用于网络规模k均值群集的硬件加速器架构和模板。描述了用于群集的硬件加速器架构。一种硬件加速器包括稀疏瓦片和非常稀疏/超稀疏瓦片。一个或多个稀疏瓦片执行用于涉及矩阵的群集任务的操作。每一个稀疏瓦片包括第一多个处理单元,所述第一多个处理单元对所述矩阵的已被通过高带宽接口从第一存储器单元成流到所述稀疏瓦片的一个或多个随机存取存储器的第一多个块进行操作。所述非常稀疏/超稀疏瓦片中的每一个执行用于涉及所述矩阵的群集任务的操作,所述非常稀疏/超稀疏瓦片中的每一个包括第二多个处理单元,所述第二多个处理单元对所述矩阵的已通过低时延接口从第二存储器单元随机访问的第二多个块进行操作。

Hardware accelerator architecture and template for network scale K mean clustering

The present invention relates to a hardware accelerator architecture and template for network scale K mean clustering. The hardware accelerator architecture for clustering is described. A hardware accelerator includes sparse tiles and very sparse / super sparse tiles. One or more sparse tiles perform operations for cluster tasks involving matrices. Each of the sparse tiles includes the first plurality of processing units, and the first plurality of processing units operates on the first plurality of blocks of one or more random access memory of the matrix that has been flow from the first memory unit into the sparse tile through a high bandwidth interface. Each of the very sparse / Ultra sparse tiles is performed for the operation of the cluster task involved in the matrix, each of the very sparse / Ultra sparse tiles includes a more than 2 processing unit, and the more than 2 processing unit is randomly accessed from the second memory unit through a low delay interface. The more than 2 block is operated.

【技术实现步骤摘要】
用于网络规模k均值群集的硬件加速器架构和模板
本公开总体上涉及电子器件,并且更具体地,实施例涉及用于诸如网络规模k均值群集之类的群集任务的硬件加速器架构和模板。
技术介绍
近年来,来自机器学习的相对新生的领域的算法已经被广泛地应用于许多类型的实际应用,导致诸如自动驾驶车辆、改进的因特网搜索引擎、话音、音频和/或视觉识别系统、人类健康数据和基因组分析、推荐系统、欺诈检测系统等之类的技术。这些算法的使用的增长已经部分地被由人类和非人类二者产生的数据的量和类型的大幅增加所加速。随着可用于分析的数据的量已经飞涨,对机器学习的兴趣也已经飞涨。在许多不同情境中,普遍使用大矩阵来实现机器学习算法。这些矩阵中的许多矩阵是“稀疏”矩阵,这是因为它们具有显著数目的“空”或“背景”值——例如,零值。例如,社交图可以被建模为具有与在数据集中存在人同样多的行和列的矩阵(例如,“邻近性矩阵”),其中矩阵的单元中的元素表示与每一对人之间的连接有关的一些信息。当存储和利用稀疏矩阵时,使用可利用矩阵的稀疏结构的专门算法和数据结构是有用的(并且有时是严格必要的)。这是因为:随着由于大量的零的存在而实际上“浪费”处理和储存资源,使用规则的密集矩阵结构和算法执行矩阵操作将在被应用于大的稀疏矩阵时相当低效。因此,可以容易地压缩稀疏数据以要求显著更少的储存,并且可以实现特定算法和计算架构以适应这些经压缩的结构。然而,包括许多机器学习算法的涉及矩阵操控的算法往往在计算上是昂贵的,这是由于它们可能涉及利用巨大量的数据执行巨大数目的非平凡操作。由此,尽可能高效地实现这些算法是极为重要的,这是由于任何小的低效性因计算的大规模而被迅速放大。例如,集群分析(其也被称作群集)是以下述这样的方式对对象集合进行成组的任务:相比于其他集群中的那些对象,相同组(或“集群”)中的对象更类似于彼此。群集可以采用多种不同算法,但典型地涉及:分析大的多维数据集,其常常被表示为矩阵:以及执行涉及数据的多种计算(例如,距离、密度)。由于计算以及常常大量的数据,许多群集算法耗费长时间来执行,这可能阻止在将要求近实时更新的许多应用中使用群集。相应地,可增强涉及稀疏矩阵数据的这些操作的性能的技术和处理架构是强烈期望的。附图说明可以通过参照以下描述和用于图示一些实施例的附图来最佳地理解本专利技术。在附图中:图1是图示了根据一些实施例的用于网络规模k均值群集的硬件加速器架构的框图。图2是图示了根据一些实施例的数据和在该数据内识别的示例性集群的框图。图3是图示了可根据一些实施例实现的用于小批量k均值群集的示例性算法的框图。图4是图示了示例性稀疏矩阵、非常稀疏矩阵和超稀疏矩阵的框图。图5是图示了根据一些实施例的执行网络规模k均值群集的硬件加速器的附加部件的框图。图6是图示了根据一些实施例的用于利用硬件加速器架构发起网络规模k均值群集的流程的流程图。图7是图示了根据一些实施例的用于利用硬件加速器架构执行网络规模k均值群集的另一流程的流程图。图8图示了根据一些实施例的其中加速器通过高速缓存一致性接口而通信耦合到多个核的示例性实现方式。图9图示了根据一些实施例的加速器的另一视图。图10图示了根据一些实施例的由处理元件执行的示例性操作集合。图11a描绘了根据一些实施例的稀疏矩阵A与向量x之间的产生向量y的乘法的示例。图11b图示了根据一些实施例的其中每一个值被存储为(值,行索引)对的矩阵A的CSR表示。图11c图示了根据一些实施例的使用(值,列索引)对的矩阵A的CSC表示。图12a、12b和12c图示了每一个计算模式的伪代码,其中:图12a图示了根据一些实施例的面向行的稀疏矩阵密集向量乘法(spMdV_csr)。图12b图示了根据一些实施例的面向列的稀疏矩阵稀疏向量乘法(spMspC_csc)。图12c图示了根据一些实施例的扩缩和更新操作(scale_update)。图13图示了根据一些实施例的用于数据管理单元和处理元件的一个实现方式的处理流程。图14a突出显示了根据一些实施例的用于spMspV_csc和scale_update操作的路径。图14b图示了根据一些实施例的用于spMdV_csr操作的路径。图15a-15b示出了将图表表示为邻近性矩阵的示例。图15c图示了根据一些实施例的顶点程序。图15d图示了根据一些实施例的用于执行顶点程序的示例性程序代码。图15e示出了根据一些实施例的广义稀疏矩阵向量乘法(GSPMV)公式表示。图16图示了根据一些实施例的用于GSPMV的设计框架的一个实现方式。图17示出了根据一些实施例的用于GSPMV的架构模板的一个实现方式。图18图示了根据一些实施例的每一个加速器瓦片的操作的总结。图19a图示了根据一些实施例的对模板的一个实现方式的可定制参数进行总结的表。图19b图示了根据一些实施例的框架的一个实现方式的调谐考虑,该框架执行自动调谐,以确定要用于定制硬件架构模板的最佳设计参数,以便针对输入顶点程序和(可选地)图表数据而优化它。图20图示了根据一些实施例的压缩行储存(CRS,有时缩写为CSR)稀疏矩阵格式。图21示出了根据一些实施例的使用CRS数据格式的稀疏矩阵-密集向量乘法的一个实现方式中涉及的示例性步骤。图22图示了根据一些实施例的包括加速器逻辑管芯和DRAM管芯的一个或多个堆叠的加速器的一个实现方式。图23图示了根据一些实施例的通过DRAM管芯的堆叠从顶部视角取向的加速器逻辑芯片的一个实现方式。图24提供了根据一些实施例的包含两个缓冲器、两个64比特乘法-加法算术逻辑单元(ALU)和控制逻辑的点积引擎(DPE)的高级概览。图25图示了根据一些实施例的用于大稀疏矩阵计算的成块方案。图26图示了根据一些实施例的块描述符的格式。图27图示了根据一些实施例的在具有仅一个堆叠动态随机存取存储器(DRAM)数据通道和四字数据突发的系统上将块描述符用于适合于单个点积引擎的缓冲器内的两行矩阵。图28图示了根据一些实施例的点积引擎中的硬件的一个实现方式。图29图示了根据一些实施例的进行捕获的匹配逻辑3020单元的内容。图30示出了根据一些实施例的支持稀疏矩阵-稀疏向量乘法的点积引擎设计的细节。图31图示了根据一些实施例的使用具体值的示例多遍方法。图32示出了根据一些实施例的可以如何组合上面描述的稀疏-密集和稀疏-稀疏点积引擎。图33是根据一些实施例的寄存器架构的框图。图34A是图示了根据一些实施例的示例性按序流水线和示例性寄存器重命名乱序发出/执行流水线二者的框图。图34B是图示了根据一些实施例的要包括在处理器中的按序架构核示例性实施例和示例性寄存器重命名乱序发出/执行架构核二者的框图。图35A-B图示了更具体示例性按序核架构的框图,该核将是芯片中的若干逻辑块(包括相同类型和/或不同类型的其他核)之一:图35A是根据一些实施例的单个处理器核连同其到管芯上互连网络的连接和其局部2级(L2)高速缓存子集的框图。图35B是根据一些实施例的图35A中的处理器核的一部分的扩展视图。图36是根据一些实施例的可具有多于一个核、可具有集成存储器控制器以及可具有集成图形的处理器的框图。图37-40是示例性计算机架构的框图:图37示出了根据一些实施例的系统的框图。图38是根据一些实本文档来自技高网...

【技术保护点】
1.一种高效地执行网络规模k均值群集的硬件加速器,包括:一个或多个稀疏瓦片,执行用于涉及矩阵的k均值群集任务的第一操作集合,所述稀疏瓦片中的每一个包括第一多个处理单元,所述第一多个处理单元对所述矩阵的已被通过高带宽接口从第一存储器单元成流到所述一个或多个稀疏瓦片的一个或多个随机存取存储器的第一多个块进行操作;以及一个或多个非常稀疏/超稀疏瓦片,执行用于涉及所述矩阵的k均值群集任务的第二操作集合,所述非常稀疏/超稀疏瓦片中的每一个包括第二多个处理单元,所述第二多个处理单元对所述矩阵的已通过低时延接口从第二存储器单元随机访问的第二多个块进行操作。

【技术特征摘要】
2016.12.31 US 15/3965151.一种高效地执行网络规模k均值群集的硬件加速器,包括:一个或多个稀疏瓦片,执行用于涉及矩阵的k均值群集任务的第一操作集合,所述稀疏瓦片中的每一个包括第一多个处理单元,所述第一多个处理单元对所述矩阵的已被通过高带宽接口从第一存储器单元成流到所述一个或多个稀疏瓦片的一个或多个随机存取存储器的第一多个块进行操作;以及一个或多个非常稀疏/超稀疏瓦片,执行用于涉及所述矩阵的k均值群集任务的第二操作集合,所述非常稀疏/超稀疏瓦片中的每一个包括第二多个处理单元,所述第二多个处理单元对所述矩阵的已通过低时延接口从第二存储器单元随机访问的第二多个块进行操作。2.如权利要求1所述的硬件加速器,进一步包括控制单元,所述控制单元:确定涉及所述矩阵的k均值群集任务要被执行;以及将所述矩阵分割成所述第一多个块和所述第二多个块,其中所述第一多个块包括所述矩阵的稀疏的一个或多个部分,并且其中所述第二多个块包括数据的非常稀疏或超稀疏的另一个或多个部分。3.如权利要求2所述的硬件加速器,其中所述控制单元进一步:使所述一个或多个稀疏瓦片使用所述第一多个块执行所述第一操作集合,且进一步使所述一个或多个非常稀疏/超稀疏瓦片使用所述第二多个块执行所述第二操作集合。4.如权利要求1所述的硬件加速器,其中执行所述第一操作集合的所述一个或多个稀疏瓦片:更新所述一个或多个稀疏瓦片的一个或多个随机存取存储器内的中心值的集合。5.如权利要求4所述的硬件加速器,其中执行所述第一操作集合的所述一个或多个稀疏瓦片进一步:由所述一个或多个稀疏瓦片的一个或多个数据管理单元将所述矩阵的多个行的值通过所述高带宽接口从所述第一存储器单元成流到第一多个处理元件的本地存储器。6.如权利要求5所述的硬件加速器,其中执行所述第一操作集合的所述一个或多个稀疏瓦片进一步:由所述第一多个处理元件使用所成流的值中的至少一些和与所述一个或多个稀疏瓦片分离的群集计算子系统执行多个距离计算。7.如权利要求5所述的硬件加速器,其中执行所述第一操作集合的所述一个或多个稀疏瓦片进一步:由所述第一多个处理元件使用中心值的集合执行一个或多个扩缩-更新操作。8.如权利要求1所述的硬件加速器,其中执行所述第二操作集合的所述一个或多个非常稀疏/超稀疏瓦片:在所述第二操作集合期间通过所述低时延接口更新所述第二存储器单元内的中心值的集合。9.如权利要求8所述的硬件加速器,其中执行所述第二操作集合的所述一个或多个非常稀疏/超稀疏瓦片进一步:由所述一个或多个非常稀疏/超稀疏瓦片的一个或多个数据管理单元通过使用随机访问请求、通过所述低时延接口从所述第二存储器单元检索所述矩阵的多个行的值。10.如权利要求1至9中任一项所述的硬件加速器,其中所述一个或多个非常稀疏/超稀疏瓦片中的每一个和所述一个或多个稀疏瓦片中的每一个在分别执行所述第一操作集合和所述第二操作集合时:将部分距离值提供给与所述一个或多个稀疏瓦片分离且与所述一个或多个非常稀疏/超稀疏瓦片分离的群集计算子系统;以及从所述群集计算子系统获得最接近集群标识符。11.一种用于高效地执行网络规模k均值群集的硬件加速器中的方法,包括:由所述硬件加速器的一个或多个稀疏瓦片执行用于涉及矩阵的k均值群集任务的第一操作集合,所述稀疏瓦片中的每一个包括第一多个处理单元,所述第一多个处理单元对所述矩阵的已被通过高带宽接口从第一存储器单元成流到所述一个或多个稀疏瓦片的一个或多个随机存取存储器的第一多个块进行操作;以及由所述硬件加速器的一个或多个非常稀疏/超稀疏瓦片执行用于涉及所述矩阵的k均值群集任务的第二操作集合,所述非常稀疏/...

【专利技术属性】
技术研发人员:D马尔G文卡特什S苏巴尚德拉E努尔维塔希S克里什南
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1