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

使用低精度和高精度的混合推理制造技术

技术编号:19322244 阅读:13 留言:0更新日期:2018-11-03 11:48
一个实施例提供了一种用于执行机器学习操作的计算设备,所述计算设备包括:指令解码逻辑,所述指令解码逻辑用于将包括多个操作数的单个指令解码成单个经解码指令,所述多个操作数具有不同的精度;以及包括第一逻辑单元和第二逻辑单元的通用图形计算单元,所述通用图形计算单元用于执行所述单个经解码指令,其中,执行所述单个经解码指令包括以第一精度对所述多个操作数中的第一组操作数执行第一指令操作,并且同时以第二精度对所述多个操作数中的第二组操作数执行第二指令操作。

Using low precision and high precision hybrid reasoning

One embodiment provides a computing device for performing machine learning operations, which includes instruction decoding logic for decoding a single instruction comprising multiple operands into a single decoded instruction with different accuracy, and a first logic. A general graphics computing unit of a unit and a second logic unit for executing the single decoded instruction, in which the single decoded instruction is executed, including performing the first instruction operation on the first set of operands of the plurality of operands with the first precision, and simultaneously pairing the first instruction with the second precision. The second sets of operands in the plurality of operands execute second instruction operations.

【技术实现步骤摘要】
使用低精度和高精度的混合推理
实施例总体上涉及数据处理,且更具体地涉及经由通用图形处理单元进行的数据处理。
技术介绍
当前的并行图形数据处理包括被开发用于对图形数据执行特定操作的系统和方法,这些特定操作如例如线性内插、曲面细分、栅格化、纹理映射、深度测试等。传统上,图形处理器使用固定功能计算单元来处理图形数据;然而,最近,图形处理器的多个部分已变得可编程,从而使得这样的处理器能够支持用于处理顶点和片段数据的更广泛种类的操作。为进一步提高性能,图形处理器通常实施处理技术(比如,流水线操作),这些处理技术试图贯穿图形流水线的不同部分来并行处理尽可能多的图形数据。具有单指令多线程(SIMT)架构的并行图形处理器被设计成最大化图形流水线中的并行处理量。在SIMT架构中,多组并行线程试图尽可能经常地一起同步执行程序指令,以提高处理效率。用于SIMT架构的软件和硬件的一般性概述可以在以下两者中找到:ShaneCook的CUDA编程(CUDAProgramming),第3章,第37-51页(2013年);和/或NicholasWilt的CUDA手册(GPU编程的综合指南(AComprehensiveGuidetoGPUProgramming)),章节2.6.2到3.1.2(2013年6月)。附图说明为使得可以详细地理解本专利技术的特征,可通过参考实施例来具有对本专利技术的更具体的描述,在附图中展示了这些实施例中的一些。然而,应注意的是,附图仅展示典型的实施例,且因此将不被视为限制所有实施例的范围。图1是展示了被配置成实现本文所述的实施例的一个或多个方面的计算机系统的框图;图2A至图2D展示了根据实施例的并行处理器部件;图3A至图3B是根据实施例的图形多处理器的框图;图4A至图4F展示了其中多个GPU通信地耦合至多个多核处理器的示例性架构;图5展示了根据实施例的图形处理流水线;图6展示了根据实施例的机器学习软件堆叠;图7展示了根据实施例的高度并行的通用图形处理单元;图8展示了根据实施例的多GPU计算系统;图9A至图9B展示了示例性深度神经网络的层;图10展示了示例性递归神经网络;图11展示了深度神经网络的训练和部署;图12是展示分布式学习的框图;图13展示了适合于使用训练模型执行推断的示例性推断用芯片上系统(SOC);图14是根据实施例的多处理器单元的框图;图15展示了根据实施例的混合精度处理系统;图16展示了根据实施例的附加混合精度处理系统;图17是根据实施例的用于混合精度处理系统的操作逻辑的流程图;图18是根据实施例的另一混合精度处理系统的操作逻辑的流程图;图19展示了根据实施例的机器学习系统;图20展示了根据实施例的机器学习系统的逻辑操作;图21是根据实施例的处理系统的框图。图22是根据实施例的处理器的框图;图23是根据实施例的图形处理器的框图;图24是根据一些实施例的图形处理器的图形处理引擎的框图;图25是由附加实施例提供的图形处理器的框图;图26展示了线程执行逻辑,所述线程执行逻辑包括在一些实施例中采用的处理元件阵列;图27是展示了根据一些实施例的图形处理器指令格式的框图;图28是根据另一个实施例的图形处理器的框图;图29A至图29B展示了根据一些实施例的图形处理器命令格式和命令序列;图30展示了根据一些实施例的数据处理系统的示例性图形软件架构;图31是展示了根据实施例的IP核开发系统的框图;图32是展示了根据实施例的示例性芯片上系统集成电路的框图;图33是展示了根据实施例的附加图形处理器的框图;以及图34是展示了根据实施例的芯片上系统集成电路的附加示例性图形处理器的框图。具体实施方式在一些实施例中,图形处理单元(GPU)被可通信地耦合到主机/处理器核以加速图形操作、机器学习操作、模式分析操作、以及各种通用GPU(GPGPU)功能。GPU可通过总线或另一互连(例如,诸如PCIe或NVLink之类的高速互连)被可通信地耦合到主机处理器/核。在其他实施例中,GPU可被集成在与核相同的封装或芯片上,并通过内部处理器总线/互连(即,在封装或芯片的内部)被可通信地耦合到核。不管GPU被连接的方式,处理器核可以以工作描述符中所包含的命令/指令的序列的形式将工作分配给GPU。GPU随后使用专用电路/逻辑以用于高效地处理这些命令/指令。在以下描述中,阐述了很多特定细节来提供更全面的理解。然而,将对本领域技术人员显而易见的是,没有这些特定细节中的一个或多个,也可实践本文中所描述的实施例。在其他实例中,未描述公知的特征以避免使本实施例的细节变得模糊。系统概述图1是展示了被配置成实现本文所述的实施例的一个或多个方面的计算机系统100的框图。计算系统100包括处理子系统101,所述处理子系统具有一个或多个处理器102和系统存储器104,所述一个或多个处理器和所述系统存储器经由互连路径进行通信,所述互连路径可以包括存储器中枢105。存储器中枢105可以是芯片组部件内的单独的部件,也可以集成在一个或多个处理器102内。存储器中枢105经由通信链路106与I/O子系统111耦合。I/O子系统111包括I/O中枢107,所述I/O中枢可以使得计算系统100能够从一个或多个输入设备108接收输入。另外,I/O中枢107可以使得显示控制器(所述显示控制器可以被包括在一个或多个处理器102中)能够向一个或多个显示设备110A提供输出。在一个实施例中,与I/O中枢107耦合的一个或多个显示设备110A可以包括本地显示设备、内部显示设备或嵌入式显示设备。在一个实施例中,处理子系统101包括一个或多个并行处理器112,所述一个或多个并行处理器经由总线或其他通信链路113耦合至存储器中枢105。通信链路113可以是任意数量的基于标准的通信链路技术或协议(诸如但不限于PCIExpress)中的一个,也可以是供应方特定的通信接口或通信结构。在一个实施例中,一个或多个并行处理器112形成以计算为中心的并行或向量处理系统,所述系统包括大量处理核和/或处理集群诸如集成众核(MIC)处理器。在一个实施例中,一个或多个并行处理器112形成图形处理子系统,所述图形处理子系统可以向经由I/O中枢107耦合的一个或多个显示设备110A中的一个输出像素。一个或多个并行处理器112还可以包括显示控制器和显示接口(未示出)以实现到一个或多个显示设备110B的直接连接。在I/O子系统111内,系统存储单元114可以连接至I/O中枢107来为计算系统100提供存储机制。I/O开关116可以用于提供接口机制以实现I/O中枢107和可以集成到平台中的其他部件诸如网络适配器118和/或无线网络适配器119以及可以经由一个或多个插入式设备120添加的各种其他设备之间的连接。网络适配器118可以是以太网适配器或另一种有线网络适配器。无线网络适配器119可以包括Wi-Fi、蓝牙、近场通信(NFC)或包括一个或多个无线电装置的其他网络设备中的一个或多个。计算系统100可以包括未明确示出的其他部件,这些部件包括USB或其他端口连接件、光存储驱动器、视频捕获设备等,也可以连接至I/O中枢107。图1中将各种部件互连的通信路径可以使用任何合适的协议诸如基于PCI(外围部件互连)的协议(例如,本文档来自技高网...

【技术保护点】
1.一种用于执行机器学习操作的计算设备,所述计算设备包括:指令解码逻辑,用于将包括多个操作数的单个指令解码成单个经解码指令,所述多个操作数具有不同的精度;以及包括第一逻辑单元和第二逻辑单元的通用图形计算单元,所述通用图形计算单元用于执行所述单个经解码指令,其中,执行所述单个经解码指令包括以第一精度对所述多个操作数中的第一组操作数执行第一指令操作,并且同时以第二精度对所述多个操作数中的第二组操作数执行第二指令操作。

【技术特征摘要】
2017.04.24 US 15/494,7731.一种用于执行机器学习操作的计算设备,所述计算设备包括:指令解码逻辑,用于将包括多个操作数的单个指令解码成单个经解码指令,所述多个操作数具有不同的精度;以及包括第一逻辑单元和第二逻辑单元的通用图形计算单元,所述通用图形计算单元用于执行所述单个经解码指令,其中,执行所述单个经解码指令包括以第一精度对所述多个操作数中的第一组操作数执行第一指令操作,并且同时以第二精度对所述多个操作数中的第二组操作数执行第二指令操作。2.如权利要求1所述的计算设备,其中,所述通用图形计算单元用于输出所述单个指令的多个结果。3.如权利要求2所述的计算设备,其中,所述通用图形计算单元用于输出具有不同精度的多个结果。4.如权利要求3所述的计算设备,其中,所述多个结果包括浮点结果和整数结果。5.如权利要求4所述的计算设备,其中,所述多个结果包括多个整数结果。6.如权利要求1至5中任一项所述的计算设备,其中,所述第一逻辑单元是浮点单元,并且所述第一组操作数具有浮点数据类型。7.如权利要求1至5中任一项所述的计算设备,其中,所述第二逻辑单元被配置成用于执行整数操作,并且所述第二组操作数具有整数数据类型。8.如权利要求7所述的计算设备,其中,所述第二组操作数包括第一子组操作数和第二子组操作数。9.如权利要求8所述的计算设备,其中,所述第二逻辑单元用于对所述第一子组操作数和所述第二子组操作数执行相同的操作。10.如权利要求8所述的计算设备,其中,所述第二逻辑单元用于对所述第一子组操作数执行第一数学运算,并且对所述第二子组操作数执行所述第一数学运算的逆运算。11.一种执行机器学习操作的方法,所述方法包括:获取并解码包括多个操作数的单个指令,所述多个操作数引用具有不同精度的多个数据元素;经由计算单元内的第一逻辑单元对所述多个数据元素中的第一组执行第一指令操作,所述多个数据元素中的所述第一组具有第一精度;与经由所述第一逻辑单元执行所述第一指令操作并行地、经由所述计算单元内的第二逻辑单元对所述多个数据元素中的第二组执行第二指令操作,所述多个数据元素中的所述第二组具有第二精度;以及输出所述第一指令操作和所述第二指令操作的结...

【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔B·拉克舍玛南T·史佩斯曼J·雷P·T·唐M·斯特里克兰德陈晓明姚安邦B·J·阿什博L·L·赫德马立伟
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1