数据类型感知时钟门控制造技术

技术编号:38507055 阅读:33 留言:0更新日期:2023-08-19 16:53
为了降低功率消耗,可将数据寄存器的不期望频繁地切换的数据位或一部分分组在一起,并且独立于所述数据寄存器的其余部分进行时钟门控。所述数据位的所述分组可基于正在操作的工作负载的数据类型来确定。对于支持多种数据类型的被配置为存储数值的数据寄存器,所述数据寄存器的被时钟门控的所述部分可存储不用于所述数据寄存器所支持的所述多种数据类型中的一种或多种的一组数据位。所述数据寄存器的被时钟门控的所述部分也可以是对于被频繁地操作的特定数值范围内的数值保持不变或具有恒定值的一组数据位。有恒定值的一组数据位。有恒定值的一组数据位。

【技术实现步骤摘要】
【国外来华专利技术】数据类型感知时钟门控

技术介绍

[0001]人工神经网络利用具有基于生物神经网络的架构的计算模型。人工神经网络中的计算使用表示神经网络模型的一组权重来执行。权重可与输入数据(也称为特征图)结合用于执行推断操作。例如,在计算机视觉应用中,神经网络可将权重与输入图像结合,以提取图像的某些特征。基于所提取的特征,神经网络可生成关于图像中是否描绘特定对象的决定。可用训练数据训练神经网络来调整模型的权重值,以提高推断操作的准确度。
附图说明
[0002]将参考附图描述根据本公开的各种实施方案,在附图中:
[0003]图1示出神经网络计算的示例的概念图;
[0004]图2示出具有n位数据寄存器的集成电路的一个示例的框图;
[0005]图3示出具有n位数据寄存器的集成电路的另一个示例的框图;
[0006]图4示出用于时钟门控的数据位分组的示例的概念图;
[0007]图5示出支持多种数据类型的数据寄存器的示例;
[0008]图6A示出用于时钟门控的浮点数据寄存器的数据位分组的示例;
[0009]图6B示出用于时钟门控的浮点数据寄存器的数据位分组的附加示例;
[0010]图7A示出用于对数据寄存器进行时钟门控的示例性过程的流程图;
[0011]图7B示出用于对浮点数据寄存器进行时钟门控的示例性过程的流程图;
[0012]图8示出集成电路器件的示例的框图;
[0013]图9示出加速引擎的示例的框图;并且
[0014]图10包括示出主机系统的示例的框图。
具体实施方式
[0015]神经网络在很大程度上依赖于矩阵计算。权重和特征图通常表示为矩阵,并且在神经网络的各个层处对这些矩阵和中间结果执行一系列矩阵乘法(例如,点积)以生成计算结果。为了高效地执行这些计算,可使用布置成行和列的处理元件阵列来实现诸如神经网络处理器的加速器。每个处理元件可通过以下方式来执行乘法与累加运算:将特征图值与权重值相乘以生成乘法结果,并且将乘法结果与部分和输入相加以生成部分和输出。此部分和输出作为部分和输入馈送到下一处理元件。尽管此类加速器相比通用处理器可更高效地执行神经网络计算,但所执行的大量计算可能导致显著的功率消耗。
[0016]为了降低神经网络计算的功率消耗,可将数据类型感知时钟门控技术应用于加速器的集成电路设计。诸如特征图和权重的数值存储在阵列中的每个处理元件中的数据寄存器中。这些值可用各种数据类型来表示,并且被转换成通用格式以用于存储在处理元件的数据寄存器中。某些输入数据类型不需要数据寄存器的全位宽。通过一起对数据寄存器的未使用位进行时钟门控,可在处理不使用数据寄存器的时钟门控位的输入数据类型时降低数据寄存器的动态功率消耗。大多数神经网络计算也是用小值执行的。因此,也可一起对用
于大数值的数据位(诸如指数的最高有效位)进行时钟门控以降低动态功率消耗,因为不期望频繁地更改这些位。此外,一起被时钟门控的位可在数据寄存器中实现为多位触发器,以减少时钟树布线和缓冲器,并最小化电路设计的布局面积。
[0017]在以下描述中,将描述各种示例。出于解释的目的,阐述了具体的配置和细节,以便提供对示例的透彻理解。然而,本领域技术人员还将明白,可在没有具体细节的情况下实践示例。此外,可省略或简化众所周知的特征,以免使所描述的实施方案混淆。
[0018]图1示出可由集成电路器件(例如,诸如神经网络处理器的加速器、图形处理单元、或诸如处理器、算术逻辑单元等的其他计算器件)中的逻辑块(例如,处理元件)执行的神经网络计算的示例的概念图。
[0019]图1所示的神经网络计算将权重输入值与特征图(FMAP)输入值相乘,并将相乘结果与部分和输入相加以生成部分和输出。此操作可称为融合乘加运算或乘法与累加运算。
[0020]执行计算的处理元件可接收特征图输入值和权重输入值。这些值可用各种数据类型(诸如8位浮点(FP8)、16位浮点(FP16)、脑浮点(BF16)、32位浮点(FP32)或其他合适的数据类型)来表示。为了支持各种数据类型,数据类型转换单元112和122将特征图(FMAP)输入和权重输入转换成处理元件的本机格式。数据转换可在处理元件接收到特征图输入值和权重输入值之前由软件或硬件执行。所转换的值分别存储在FMAP寄存器114和权重寄存器124中。在一些实现方式中,处理元件的本机格式可以是包括1位符号、10位指数和11位尾数的22位浮点(FP22)格式。因此,FMAP寄存器114和权重寄存器124各自可以是22位数据寄存器。在其他实现方式中,可使用具有相同或不同数量的指数和/或尾数位的其他合适的本机格式。
[0021]当在输入值的分量相比本机格式的对应分量具有更少位时,数据类型转换可例如通过以下方式来执行:用零填充输入值的分量(例如,指数、尾数等),或者在数据寄存器中使某些位保持未使用。当输入值的分量相比本机格式的对应分量具有更多位时,数据类型转换可例如通过截断输入值的某些位以对数进行舍入来执行,或者使用量化技术保留输入数据类型的动态范围来以本机格式表示。
[0022]一旦转换成本机格式,乘法器162就可将存储在FMAP寄存器114中的FMAP值与存储在权重寄存器124中的权重值相乘以生成乘法结果。然后,乘法结果可存储在乘法结果寄存器132中。在FMAP值和权重值的本机格式为FP22的实现方式中,乘法结果可为34位浮点(FP34)数。因此,乘法结果寄存器132可以是34位数据寄存器。在对FMAP值和/或权重值使用不同的本机格式的其他实现方式中,乘法结果寄存器132可包含不同数量的数据位来存储乘法结果。
[0023]执行神经网络计算的处理元件还可接收部分和输入(其是先前融合乘加运算的结果),并且将部分和输入存储在部分和输入寄存器142中。部分和输入可呈与乘法结果相同的格式。因此,在乘法结果为FP34数的实现方式中,部分和输入也可为FP34数,并且部分和输入寄存器142可以是34位数据寄存器。然后,加法器164将存储在乘法结果寄存器132中的乘法结果与存储在部分和输入寄存器142中的部分和输入相加以生成部分和输出。部分和输出可存储在乘法累加结果寄存器152中,并且作为下一处理元件的部分和输入提供给所述下一处理元件。部分和输出可呈与部分和输入相同的格式。因此,在部分和输入为FP34数的实现方式中,部分和输出也可为FP34数,并且乘法累加结果寄存器152可以是34位数据寄
存器。
[0024]执行此类神经网络计算的集成电路器件可具有数百或甚至数千个逻辑块(例如,处理元件)来执行图1所示的计算以实现高度并行的矩阵乘法运算。此类计算也可在神经网络的执行期间执行数百万次。因此,降低执行此类计算的逻辑块的功率消耗可在集成电路器件的操作期间导致显著的功率节省。
[0025]图2示出具有n位数据寄存器290的集成电路200的示例的框图。n位寄存器可用于实现例如处理元件的FMAP寄存器和/或权重寄存器。n位数据寄存器290包括触发器252本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种集成电路器件,其包括:数据寄存器,所述数据寄存器被配置为存储数值,支持多种数据类型;第一时钟门电路,所述第一时钟门电路被配置为独立于所述数据寄存器的其余部分对所述数据寄存器的第一部分进行时钟门控,所述数据寄存器的所述第一部分存储第一组数据位,所述第一组数据位不用于所述多种数据类型中的一种数据类型;以及第二时钟门电路,所述第二时钟门电路被配置为独立于所述数据寄存器的其余部分对所述数据寄存器的第二部分进行时钟门控,所述数据寄存器的所述第二部分存储第二组数据位,所述第二组数据位对于数值范围内的数值具有恒定值。2.如权利要求1所述的集成电路器件,其中所述数值是浮点数,其中所述数据寄存器包括被配置为存储所述浮点数的符号位的符号寄存器、被配置为存储所述浮点数的指数的指数寄存器和被配置为存储所述浮点数的尾数的尾数寄存器,并且其中所述第一组数据位对应于所述尾数寄存器的较低部分。3.如权利要求2所述的集成电路器件,其中所述尾数寄存器的所述较低部分使用多位触发器来实现,或者所述指数寄存器的较高部分使用多位触发器来实现。4.如权利要求2所述的集成电路器件,其中所述第二组数据位对应于所述指数寄存器的较高部分。5.如权利要求2至4中任一项所述的集成电路器件,其还包括:第三时钟门电路,所述第三时钟门电路被配置为对所述指数寄存器的较低部分与所述尾数寄存器的较高部分进行时钟门控。6.如权利要求2至4中任一项所述的集成电路器件,其还包括:第三时钟门电路,所述第三时钟门电路被配置为对所述符号寄存器与所述尾数寄存器的较高部分进行时钟门控。7.如权利要求2至6中任一项所述的集成电路器件,其中所述指数寄存...

【专利技术属性】
技术研发人员:J
申请(专利权)人:亚马逊技术股份有限公司
类型:发明
国别省市:

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

1