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

用来执行用于机器学习的浮点和整数操作的指令和逻辑制造技术

技术编号:38836722 阅读:17 留言:0更新日期:2023-09-17 09:53
一个实施例提供了包括具有在整数数据路径和浮点数据路径之间共享的加法器和乘法器的计算单元的机器学习硬件加速器,到乘法器的输入操作数的高位要在浮点操作期间被门控。输入操作数的高位要在浮点操作期间被门控。输入操作数的高位要在浮点操作期间被门控。

【技术实现步骤摘要】
用来执行用于机器学习的浮点和整数操作的指令和逻辑
[0001]本申请是申请日为2018年4月27日、申请号为201810394160.7的同名专利申请的分案申请。
[0002]交叉引用
[0003]本申请要求对2017年4月28日提交的美国临时申请No.62/491,699的权益,其由此通过引用被结合于本文。


[0004]实施例一般涉及数据处理,并且更具体地涉及经由通用图形处理单元的数据处理。

技术介绍

[0005]当前并行图形数据处理包括开发成对图形数据执行特定操作(诸如例如线性内插、曲面细分、光栅化、纹理映射、深度测试等)的系统和方法。传统上,图形处理器使用固定功能计算单元来处理图形数据;然而,最近,已经使图形处理器的部分可编程,使此类处理器能够支持用于处理顶点和片段数据的各种各样的操作。
[0006]为了进一步增加性能,图形处理器通常实现诸如尝试并行处理遍及图形流水线的不同部分的尽可能多的图形数据的流水线操作的处理技术。具有单指令多线程(SIMT)架构的并行图形处理器被设计成最大化图形流水线中的并行处理的量。在SIMT架构中,并行线程组尝试尽可能经常地一起同步执行程序指令以增加处理效率。用于SIMT架构的软件和硬件的一般概述可以在Shane Cook的CUDA Programming,第3章,第37

51页(2013)和/或Nicholas Wilt的CUDA Handbook,A Comprehensive Guide to GPU Programming,第2.6.2至3.1.2节(2013年6月)中找到。
附图说明
[0007]通过参考实施例可具有本专利技术的更具体的描述以便可以详细理解本专利技术的特征,所述实施例中的一些在附图中示出。然而,要注意,附图仅示出了典型实施例,并且因此不被视为限制所有实施例的范围。
[0008]图1是示出了配置成实现本文描述的实施例的一个或多个方面的计算机系统的框图。
[0009]图2A

2D示出了根据实施例的并行处理器部件。
[0010]图3A

3B是根据实施例的图形多处理器的框图。
[0011]图4A

4F示出了示范架构,在其中多个GPU通信地耦合到多个多核处理器。
[0012]图5示出了根据实施例的图形处理流水线。
[0013]图6示出了根据实施例的机器学习软件栈。
[0014]图7示出了根据实施例的高度并行通用图形处理单元。
[0015]图8示出了根据实施例的多GPU计算系统。
[0016]图9A

9B示出了示范深度神经网络的层。
[0017]图10示出了示范递归神经网络。
[0018]图11示出了深度神经网络的训练和部署。
[0019]图12是示出分布式学习的框图。
[0020]图13示出了适合用于使用训练模型执行推理的示范推理片上系统(SOC)。
[0021]图14是根据实施例的多处理器单元的框图。
[0022]图15A

15B示出了根据实施例的执行整数和浮点融合乘

加操作的逻辑单元的设计。
[0023]图16示出了根据实施例的具有合并的浮点和整数数据路径的融合乘

加逻辑单元。
[0024]图17A

17B示出了根据实施例的包括合并的计算电路以执行浮点和整数融合乘法累加操作的逻辑单元。
[0025]图18A

18B示出了执行用于机器学习的加速训练和推理操作的数据处理系统和关联的计算和逻辑单元。
[0026]图19示出了根据实施例的激活指令模块的细节。
[0027]图20示出了根据实施例的随机量化单元。
[0028]图21示出了根据一个实施例的FPU编码和配置模块。
[0029]图22示出了根据实施例的使用动态可配置计算单元处理指令的逻辑。
[0030]图23A

23B是示出执行由本文描述的实施例提供的GPGPU内的稀疏计算操作的逻辑的流程图。
[0031]图24是根据实施例的处理系统的框图。
[0032]图25是根据实施例的处理器的框图。
[0033]图26根据实施例的图形处理器的框图。
[0034]图27是根据一些实施例的图形处理器的图形处理引擎的框图。
[0035]图28是由附加实施例提供的图形处理器的框图。
[0036]图29示出了包括在一些实施例中采用的处理元件阵列的线程执行逻辑。
[0037]图30是示出根据一些实施例的图形处理器指令格式的框图。
[0038]图31是根据另一实施例的图形处理器的框图。
[0039]图32A

32B示出了根据一些实施例的图形处理器命令格式和命令序列。
[0040]图33示出了根据一些实施例的用于数据处理系统的示范图形软件架构。
[0041]图34是示出根据实施例的IP核的开发系统的框图。
[0042]图35是示出根据实施例的示范片上系统集成电路的框图。
[0043]图36是示出根据实施例的附加图形处理器的框图。
[0044]图37是示出根据实施例的片上系统集成电路的附加示范图形处理器的框图。
具体实施方式
[0045]在一些实施例中,图形处理单元(GPU)通信地耦合至主机/处理器核以使图形操作、机器学习操作、模式分析操作、以及各种通用GPU(GPGPU)功能加速。GPU可通过总线或另一互连(例如,诸如PCIe或NVLink之类的高速互连)通信地耦合至主机处理器/核。在其他实
施例中,GPU可被集成在与核相同的封装或芯片上,并通过内部处理器总线/互连(即,在封装或芯片内部)通信地耦合至核。不管GPU被连接的方式,处理器核都可以以工作描述符中所包含的命令/指令的序列的形式将工作分配给GPU。GPU然后使用专用电路/逻辑以用于高效地处理这些命令/指令。
[0046]在以下描述中,阐述了很多特定细节来提供更彻底的理解。然而,将对本领域技术人员显而易见的是,可以在没有这些特定细节中的一个或多个的情况下实践本文中所描述的实施例。在其他实例中,没有描述公知的特征以避免使本专利技术的实施例的细节模糊。
[0047]系统概述
[0048]图1是示出了配置成实现本文中所描述的实施例的一个或多个方面的计算系统100的框图。计算系统100包括处理子系统101,所述处理子系统101具有经由互连路径进行通信的一个或多个处理器102和系统存储器104,所述互连路径可以包括存储器中枢105。存储器中枢105可以是芯片组部件内的单独的部件,或者可以集成在所述一个或多个处理器102内。存储器中枢105经由通信链路106与I/O子系统111耦合。I/O子系统111包括I/O中枢1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理单元,包括:获取和解码电路装置,用于获取并解码浮点乘

累加指令;以及执行电路装置,用于执行所述浮点乘

累加指令,所述执行电路装置包括:尾数乘法电路装置,其中,所述尾数乘法电路装置与所述执行电路装置的整数数据路径共享,其中,响应于所述浮点乘

累加指令,所述尾数乘法电路装置用于对第一多个16位浮点数据元素中的每个16位浮点数据元素的尾数值和第二多个16位浮点数据元素中的相应的16位浮点数据元素的尾数值执行乘法操作,以生成相应的多个尾数结果;指数处理电路装置,用于响应于所述浮点乘

累加指令,对所述第一多个16位浮点数据元素中的每个16位浮点数据元素的指数值和所述第二多个16位浮点数据元素中的每个相应的16位浮点数据元素的指数值执行操作,以生成相应的多个指数结果;用于处理所述多个尾数结果和所述多个指数结果以生成相应的浮点乘积的电路装置;以及加法器电路装置,用于生成多个结果浮点值,每个结果浮点值包括多个浮点乘积中的一个或多个浮点乘积与多个累加的浮点值中的相应的累加的浮点值之和。2.如权利要求1所述的处理单元,其中,所述第一多个16位浮点数据元素和所述第二多个16位浮点数据元素中的每个16位浮点数据元素包括1位符号、7位尾数值和8位指数值。3.如权利要求1或2所述的处理单元,还包括:用于将第一多个32位浮点数据元素转换成所述第一多个16位浮点数据元素以及用于将第二多个32位浮点数据元素转换成所述第二多个16位浮点数据元素的硬件逻辑单元。4.如权利要求1

3中的任意一项所述的处理单元,其中,用于处理所述多个尾数结果中的每个尾数结果的电路装置包括移位电路装置,用于对所述多个尾数结果中的一个或多个尾数结果进行移位。5.如权利要求1

4中的任意一项所述的处理单元,还包括:归一化电路装置,用于归一化所述多个结果浮点值中的一个或多个结果浮点值。6.如权利要求1

5中的任意一项所述的处理单元,其中,所述多个结果浮点值中的每个结果浮点值包括32位浮点值。7.如权利要求1

6中的任意一项所述的处理单元,还包括:寄存器集合,用于存储以下各项中的一个或多个:所述第一多个16位浮点数据元素、所述第二多个16位浮点数据元素、所述多个结果浮点值和所述多个累加的浮点值。8.如权利要求1<...

【专利技术属性】
技术研发人员:H考尔MA安德斯SK马修姚安邦J雷PT唐MS斯特里克兰德X陈T斯派斯曼AR阿普A科克K辛哈B温布NCG冯博里斯E努尔维塔迪R巴里克TH林V兰加纳坦S雅哈吉达尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1