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

用于机器学习操作的经优化计算硬件制造技术

技术编号:19427900 阅读:19 留言:0更新日期:2018-11-14 11:05
一个实施例提供了用于执行机器学习操作的计算设备,该计算设备包括:获取单元,用于获取具有多个输入操作数的单个指令,其中,所述多个操作数具有不相等的位长度,具有第一位长度的第一输入和具有第二位长度的第二输入;解码单元,用于将单个指令解码成经解码的指令;操作数长度单元,用于确定第一位长度和第二位长度中的较小位长度;以及计算单元,用于对多个输入操作数执行矩阵操作以生成具有较小位长度的位长度的输出值。

【技术实现步骤摘要】
用于机器学习操作的经优化计算硬件交叉引用本申请要求2017年5月5日提交的印度临时专利申请号201741015868的权益,该专利申请据此通过引用纳入本文。
实施例大体上涉及数据处理,并且更具体地涉及经由通用图形处理单元的机器学习处理。
技术介绍
当前的并行图形数据处理包括被开发用于对图形数据执行特定操作的系统和方法,这些特定操作如例如线性内插、曲面细分、栅格化、纹理映射、深度测试等。传统上,图形处理器使用固定功能计算单元来处理图形数据;然而,最近,图形处理器的多个部分已变得可编程,从而使得这样的处理器能够支持用于处理顶点和片段数据的更广泛种类的操作。为了进一步提高性能,图形处理器通常实现诸如流水线操作之类的处理技术,这些处理技术尝试贯穿图形流水线的不同部分并行地处理尽可能多的图形数据。具有单指令多线程(SIMT)架构的并行图形处理器被设计成使图形流水线中的并行处理量最大化。在SIMT架构中,多组并行线程尝试尽可能经常地一起同步执行程序指令,以提高处理效率。用于SIMT架构的软件和硬件的一般性概述可以在ShaneCook的《CUDA编程(CUDAProgramming)》,第3章,第37到51页(2013年)和/或NicholasWilt的《CUDA手册,GPU编程的综合指南(CUDAHandbook,AComprehensiveGuidetoGPUProgramming)》,章节2.6.2到3.1.2(2013年6月)中找到。附图说明为使得可以详细地理解本专利技术的特征,可通过参考实施例来具有对本专利技术的更具体的描述,在附图中展示了这些实施例中的一些。然而,应注意的是,附图仅展示典型的实施例,且因此将不被视为限制所有实施例的范围。图1是示出了被配置成实现本文所述的实施例的一个或多个方面的计算机系统的框图;图2A至图2D示出了根据实施例的并行处理器部件;图3A至图3B是根据实施例的图形多处理器的框图;图4A至图4F示出了其中多个GPU通信地耦合至多个多核处理器的示例性架构;图5示出了根据实施例的图形处理流水线;图6A是根据实施例的数据处理系统的框图;图6B示出了提供用于在操作数加载时对指令的零挤压(zerosquashing)的技术的逻辑;图6C示出了用于经由零挤压的轮次(pass)减少的逻辑;图6D示出了根据实施例的合成指令或多轮次指令的轮次压缩;在一个实施例中,图6E示出了用于实现本文中所描述的零挤压技术的硬件逻辑;图6F示出了根据实施例的计算单元内的用于零挤压的硬件;图7A示出了根据实施例的提供用于低精度整数乘法的技术的逻辑;图7B示出了根据实施例的用于低精度整数乘法以避免累加器寄存器溢出的逻辑单元;图7C示出了根据实施例的用于实现不相等位长度并行处理的逻辑;图7D示出了根据实施例的用于执行不相等位长度并行处理的示例性指令架构;图7E示出了根据实施例的可用于实现不相等位长度并行处理的可变精度执行逻辑;图8示出了根据实施例的机器学习软件栈;图9示出了根据实施例的高度并行的通用图形处理单元;图10示出了根据实施例的多GPU计算系统;图11A至图11B示出了示例性深度神经网络的层;图12示出了示例性递归神经网络;图13示出了深度神经网络的训练和部署;图14是示出分布式学习的框图;图15示出了适合于使用训练模型执行推断的示例性推断用芯片上系统(SOC);图16是根据实施例的处理系统的框图;图17是根据实施例的处理器的框图;图18是根据实施例的图形处理器的框图;图19是根据一些实施例的图形处理器的图形处理引擎的框图;图20是由附加实施例提供的图形处理器的框图;图21示出了线程执行逻辑,所述线程执行逻辑包括在一些实施例中采用的处理元件阵列;图22是示出了根据一些实施例的图形处理器指令格式的框图;图23是根据另一个实施例的图形处理器的框图;图24A至图24B示出了根据一些实施例的图形处理器命令格式和命令序列;图25示出了根据一些实施例的数据处理系统的示例性图形软件架构;图26是示出了根据实施例的IP核开发系统的框图;图27是示出了根据实施例的示例性芯片上系统集成电路的框图;图28是示出了附加的示例性图形处理器的框图;以及图29是示出了根据实施例的芯片上系统集成电路的附加示例性图形处理器的框图。具体实施方式在一些实施例中,图形处理单元(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和可以集成到平台中的本文档来自技高网...

【技术保护点】
1.一种用于执行机器学习操作的计算设备,所述计算设备包括:获取单元,所述获取单元用于获取具有多个输出操作数的单个指令,其中,所述多个输入操作数具有不相等的位长度,第一输入操作数具有第一位长度,并且第二输入操作数具有第二位长度;解码单元,所述解码单元用于将所述单个指令解码成经解码的指令;操作数长度单元,所述操作数长度单元用于确定所述第一位长度和所述第二位长度中的较小位长度;以及计算单元,所述计算单元用于对所述多个输入操作数执行矩阵操作,以生成具有所述较小位长度的位长度的输出值。

【技术特征摘要】
2017.05.05 IN 201741015868;2018.01.12 US 15/869,561.一种用于执行机器学习操作的计算设备,所述计算设备包括:获取单元,所述获取单元用于获取具有多个输出操作数的单个指令,其中,所述多个输入操作数具有不相等的位长度,第一输入操作数具有第一位长度,并且第二输入操作数具有第二位长度;解码单元,所述解码单元用于将所述单个指令解码成经解码的指令;操作数长度单元,所述操作数长度单元用于确定所述第一位长度和所述第二位长度中的较小位长度;以及计算单元,所述计算单元用于对所述多个输入操作数执行矩阵操作,以生成具有所述较小位长度的位长度的输出值。2.如权利要求1所述的计算设备,其特征在于,所述单个指令用于使得所述计算单元对所述多个操作数执行至少二维的矩阵乘法操作。3.如权利要求2所述的计算设备,其特征在于,所述单个指令用于使得所述计算单元执行至少一次乘-加操作。4.如权利要求2所述的计算设备,其特征在于,所述单个指令用于使得所述计算单元执行至少一次乘法-累加操作。5.如权利要求2所述的计算设备,其特征在于,所述单个指令用于使得所述计算单元执行至少二维的矩阵点积操作。6.如权利要求1所述的计算设备,附加地包括精度配置单元,所述精度配置单元用于将精度配置提供给所述计算单元,所述精度配置单元用于配置所述计算单元内的功能单元的操作精度。7.如权利要求1所述的计算设备,所述计算单元用于对所述多个操作数执行矩阵乘法操作,其中所述计算单元用于:确定所述矩阵乘法操作的乘法操作是否具有零输入;以及绕过具有所述零输入的所述乘法操作。8.如权利要求7所述的计算设备,其特征在于,为了绕过具有所述零输入的所述乘法操作,所述计算单元绕过对具有所述零输入的所述乘法操作的调度。9.如权利要求7所述的计算设备,其特征在于,为了绕过具有所述零输入的所述乘法操作,所述计算单元:确定所述矩阵乘法操作的乘法操作是否具有零输入;并且对于与所述零输入相关联的功能单元,将乘法操作操作码替换成无操作操作码。10.一种执行数个轮次以在通用图形处理单元(GUGPU)上执行多轮次矩阵乘法操作的方法,所述方法包括:在所述GPGPU内获取要被执行的单个指令;解码所述指令以确定所述指令的类型;响应于确定所述指令的类型,确定所述指令是包括乘法操作的多轮次矩阵指令,并确定是否有阈值数量的乘法操作具有零值输入操作数;将不具有零值输入操作数的所述乘法操作压缩到减少数量的轮次中;以及以减少数量的轮次来执行所述指令。11.如权利要求10所述的方法,其特征在于,以所述减少数量的轮次来执行所述指令包括,当所述乘法操作中至少一半具有一个或多个零值输入操作数时,在单个轮次中执行双轮次矩阵乘法指令。12.如权利要求10所述的方法,其特征在于,确定是否...

【专利技术属性】
技术研发人员:D·达斯R·格拉姆温特M·斯密尔安斯基J·考博尔D·穆迪盖雷N·K·梅勒普迪A·F·海奈克
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1