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

用于深度学习和其它算法的FP16-S7E8混合精度制造技术

技术编号:35814813 阅读:30 留言:0更新日期:2022-12-03 13:38
所公开的实施例涉及混合精度矢量乘

【技术实现步骤摘要】
用于深度学习和其它算法的FP16

S7E8混合精度


[0001]本专利技术的领域一般涉及计算机处理器架构,并且更具体地说,涉及用于深度学习和其它算法的FP16

S7E8混合精度。

技术介绍

[0002]当今用于通过神经网络的机器学习的许多硬件加速器在训练和推理两者期间主要执行矩阵乘法。用于机器学习的硬件加速器努力实现最佳原始性能数字(raw performance number)和功率与性能比值。
[0003]机器学习架构(例如深度神经网络)已经被应用于包括计算机视觉、图像识别、语音识别、自然语言处理、音频识别、社交网络过滤、机器翻译、生物信息学和药物设计的领域。
[0004]矩阵乘法是用于包括机器学习的许多算法的关键性能/功率限制物。
[0005]对于加速指令吞吐量和提高性能的尝试可以试图使用缩减精度,例如IEEE

FP16(S10E5),其是一种具有10比特有效位(有时称为尾数、系数、自变量或分数)和5比特指数的半精度浮点(FP)格式,并且在由电气和电子工程师协会(IEEE)颁布的IEEE 754

2008标准中被定义。然而,当使用IEEE

FP16(S10E5)时,由于有效位对指数位的过度分配,IEEE

FP16(S10E5)趋于是耗时的、需要专家知识、并且可能产生比通过例如单精度所获得的超参数更不积极(即,训练更慢)的超参数(即,在训练过程前固定并且在训练过程期间或作为训练过程的结果而不改变的属性)。
附图说明
[0006]本专利技术通过示例而非限制的方式在附图的图中被示出,其中相似附图标记指示相似元件,并且在附图中:图1是示出根据实施例的用于执行混合精度矢量乘

累加(MPVMAC)指令的处理组件的框图;图2是示出根据实施例的用于执行混合精度矢量乘

累加(MPVMAC)指令的处理组件的框图;图3是示出根据实施例的执行混合精度矢量乘

累加(MPVMAC)指令的处理器的框流程图;图4A示出框图,其示出了根据一些实施例的浮点格式;图4B示出了与标准半精度浮点格式相比的神经半精度(FP16

S7E8)浮点格式的增加的动态范围;图5A是示出根据一些实施例的用于将格式从标准单精度转换为神经半精度的指令的执行的框图;图5B是示出执行用于将格式从标准单精度转换为神经半精度的指令的处理器的实施例的框流程图;
图6A是示出根据一些实施例的用于将格式从神经半精度转换为标准单精度的指令的执行的框图;图6B是示出执行用于将格式从神经半精度转换为标准单精度的指令的处理器的实施例的框流程图;图7A是根据一些实施例的用于使用混合精度矢量乘

累加(MPVMAC)指令进行机器学习实验的流程图;图7B示出了与将5比特指数用于FP32中的累加和乘法器的CIFAR

10的非收敛相关的实验结果;图7C示出了与将6比特指数和参数扫描用于尾数中比特的数量、FP32累加的CIFAR

10的收敛相关的实验结果;图7D示出了与带有使用IEEE

FP16(S10E5)和FP16

S7E8表示而实现的乘法器和使用FP32而实现的累加器的AlexNet的收敛相关的实验结果;图7E示出了Resnet

50;FP16

S7E8对IEEE

FP16/32的收敛图;图8是根据一些实施例的混合精度矢量乘

累加(MPVMAC)指令的格式;图9A

9B是示出根据本专利技术的一些实施例的通用矢量友好指令格式及其指令模板的框图;图9A是示出根据本专利技术的一些实施例的通用矢量友好指令格式及其类别A指令模板的框图;图9B是示出根据本专利技术的一些实施例的通用矢量友好指令格式及其类别B指令模板的框图;图10A是示出根据本专利技术的一些实施例的示例性特定矢量友好指令格式的框图;图10B是示出根据一个实施例的构成完整操作码字段的特定矢量友好指令格式的字段的框图;图10C是示出根据一个实施例的构成寄存器索引字段的特定矢量友好指令格式的字段的框图;图10D是示出根据一个实施例的构成增强操作字段的特定矢量友好指令格式的字段的框图;图11是根据一个实施例的寄存器架构的框图;图12A是示出根据一些实施例的示例性有序流水线和示例性寄存器重命名、乱序发布/执行流水线两者的框图;图12B是示出根据一些实施例的将被包括在处理器中的有序架构核的示例性实施例和示例性寄存器重命名、乱序发布/执行架构核两者的框图;图13A

B示出了更具体的示例性有序核架构的框图,该核将是芯片中若干逻辑块(包括相同类型和/或不同类型的其它核)之一;图13A是根据一些实施例的单个处理器核的框图,连同其到管芯上互连网络的连接以及其2级(L2)高速缓冲存储器的本地子集;图13B是根据一些实施例的图13A中的处理器核的一部分的放大视图;图14是根据一些实施例的处理器的框图,该处理器可以具有多于一个核、可以具有集成存储器控制器、并且可以具有集成图形;
图15

18是示例性计算机架构的框图;图15示出了根据一些实施例的系统的框图;图16是根据一些实施例的第一更具体示例性系统的框图;图17是根据一些实施例的第二更具体示例性系统的框图;图18是根据一些实施例的芯片上系统(SoC)的框图;以及图19是根据一些实施例的对照使用软件指令转换器将源指令集中的二进制指令转换为目标指令集中的二进制指令的框图。
具体实施方式
[0007]在以下描述中,阐述了许多具体细节。然而,应当理解,一些实施例可以在没有这些具体细节的情况下被实践。在其它情况下,没有详细示出众所周知的电路、结构和技术,以免模糊对此描述的理解。
[0008]说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表示所描述的实施例可以包括特征、结构或特性,但是每个实施例可不一定包括该特征、结构或特性。此外,这样的短语不一定指同一实施例。此外,当关于实施例描述特征、结构或特性时,如果明确描述,则主张的是,影响关于其它实施例的这种特征、结构或特性在本领域技术人员的知识范围内。
[0009]以下描述公开了用于使用包括标记比特、七比特有效位和八比特指数的16比特格式来执行混合精度矢量乘

累加(MPVMAC)指令的各种系统和方法。该格式被称为FP16

S7E8格式(由于其有效位和指数比特宽度),或者被称为神经半精度格式(因为它被示出为改善了在机器学习上下文中使用的神经网络的性能,包括在训练阶段和推理阶段两者期间)。根据一些实施例,执行所公开的MPVMAC指令是在乘法期间使用缩减精度FP16

S7E8(神经半精度)格式,随后是32比特单精度累加,其可以使用在IEEE 754
...

【技术保护点】

【技术特征摘要】
1.一种芯片,包括:多个存储器控制器;耦合到所述多个存储器控制器的二级(L2)高速缓冲存储器;耦合到所述多个存储器控制器并耦合到所述L2高速缓冲存储器的处理器,所述处理器具有多个核,所述多个核包括核,所述核响应于指定包括多个16位浮点数据元素的第一源矢量、包括多个16位浮点数据元素的第二源矢量、和包括多个浮点数据元素的第三源矢量的指令而进行以下操作:将来自所述第一源矢量的所述多个16位浮点数据元素与来自所述第二源矢量的所述多个16位浮点数据元素中的对应16位浮点数据元素相乘,以生成多个对应乘积,其中来自所述第一源矢量的16位浮点数据元素和来自所述第二源矢量的16位浮点数据元素各自具有符号位、八个指数位、和七个有效位;将所述多个乘积与来自所述第三源矢量的所述多个浮点数据元素的对应浮点数据元素累加,以生成多个对应的累加浮点数据元素;根据舍入模式对所述累加浮点数据元素中的一个或多个累加浮点数据元素进行舍入;使所述累加浮点数据元素中的一个或多个累加浮点数据元素饱和;以及将多个结果浮点数据元素存储在目的地中;耦合到所述处理器的互连;以及耦合到所述处理器的总线控制器。2.根据权利要求1所述的芯片,其中,来自所述第一源矢量的所述16位浮点数据元素和来自所述第二源矢量的所述16位浮点数据元素各自是神经半精度元素。3.根据权利要求1所述的芯片,其中,所述舍入模式是舍入到最接近的偶数,并且由所述指令指定。4.根据权利要求1至3中任一项所述的芯片,还包括指令转换器,所述指令转换器用于将所述指令转换成由所述核可执行的不同指令集的一个或多个指令。5.根据权利要求1至3中任一项所述的芯片,其中,所述多个核包括图形核。6.根据权利要求1至3中任一项所述的芯片,其中,所述多个核是异质的。7.一种由芯片执行的方法,所述方法包括:通过所述芯片的多个存储器控制器来访问存储器;将数据存储在所述芯片的二级(L2)高速缓冲存储器中;通过所述芯片的处理器的多个核来处理数据,所述多个核包括核;通过所述核来执行指令,指定包括多个16位浮点数据元素的第一源矢量、包括多个16位浮点数据元素的第二源矢量、和包括多个浮点数据元素的第三源矢量的指令用于:将来自所述第一源矢量的所述多个16位浮点数据元素与来自所述第二源矢量的所述多个16位浮点数据元素中的对应16位浮点数据元素相乘,以生成多个对应乘积,其中来自所述第一源矢量的16位浮点数据元素和来自所述第二源矢量的16位浮点数据元素各自具有符号位、八个指数位、和七个有效位;将所述多个乘积与来自所述第三源矢量的所述多个浮点数据元素的对应浮点数据元素累加,以生成多个对应的累加浮点数据元素;根据舍入模式对所述累加浮点数据元素中的一个或多个累加浮点数据元素进行舍入;
使所述累加浮点数据元素中的一个或多个累加浮点数据元素饱和;以及将多个结果浮点数据元素存储在目的地中;将数据从所述处理器传送到所述芯片的互连;以及通过所述芯片的总线控制器来访问总线。8.根据权利要求7所述的方法,其中,...

【专利技术属性】
技术研发人员:SN卡什亚普A莱珀P博伊尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1