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

高效线程组调度制造技术

技术编号:19240225 阅读:36 留言:0更新日期:2018-10-24 03:50
本发明专利技术涉及高效线程组调度。描述了用于促进自主机器处的智能线程调度的机构。如本文所描述,实施例的方法包括:检测关于与多个工作负荷相对应的多个线程的依赖性信息,所述多个工作负荷关联于与包括图形处理器的处理器相关的任务。所述方法可以进一步包括:基于所述依赖性信息来生成线程组的树,其中每一个线程组包括多个线程;以及调度与类似依赖性相关联的线程组中的一个或多个,以避免依赖性冲突。

【技术实现步骤摘要】
高效线程组调度
本文所述的实施例大体上涉及数据处理,并且更具体地涉及促进高效线程组调度。
技术介绍
当前的并行图形数据处理包括被开发以对图形数据执行特定操作的系统和方法,这些特定操作诸如例如线性内插、镶嵌、栅格化、纹理映射、深度测试等。传统上,图形处理器使用了固定功能计算单元来处理图形数据;然而,最近,图形处理器的多个部分已变得可编程,从而使得这样的处理器能够支持用于处理顶点和片段数据的更广泛种类的操作。为了进一步提高性能,图形处理器通常实现处理技术(诸如,流水线操作),这些处理技术试图贯穿图形流水线的不同部分来并行处理尽可能多的图形数据。具有单指令多线程(SIMT)架构的并行图形处理器被设计成最大化图形流水线中的并行处理量。在SIMT架构中,多组并行线程试图尽可能经常地一起同步执行程序指令,以提高处理效率。用于SIMT架构的软件和硬件的一般性概述可以在ShaneCook的CUDA编程(CUDAProgramming),第3章,第37-51页(2013年)和/或NicholasWilt的CUDA手册,对GPU编程的全面向导(CUDAHandbook,AComprehensiveGuidetoGPUProgramming),第2.6.2至3.1.2节(2013年6月)中找到。机器学习已经在解决许多种类的任务方面成功。当训练和使用机器学习算法(例如,神经网络)时发生的计算自然地服从高效并行实现。相应地,诸如通用图形处理单元(GPGPU)之类的并行处理器已经在深度神经网络的实际实现中扮演重要作用。具有单指令多线程(SIMT)架构的并行图形处理器被设计成最大化图形流水线中的并行处理量。在SIMT架构中,多组并行线程试图尽可能经常地一起同步执行程序指令,以提高处理效率。由并行机器学习算法实现提供的效率允许高容量网络的使用,并使那些网络能够在更大数据集上训练。用于处理线程组的传统技术(诸如调度、优先化、应对依赖性等)在系统处理资源(诸如时间、带宽和功率)的消耗方面是低效的。附图说明在其中相似附图标记指代类似元件的附图的各图中作为示例而非作为限制图示了实施例。为了以能够详细理解以上记载特征的方式,可以通过参考实施例来进行以上简要概括的更具体的描述,这些实施例中的一些在所附附图中被图示。然而,应当注意,所附附图仅图示了典型实施例,并因此不应被认为是对其范围的限制,因为附图可以图示其他等同有效的实施例。图1是图示了被配置成实现本文所述的实施例的一个或多个方面的计算机系统的框图。图2A至2D图示了根据实施例的并行处理器部件。图3A至3B是根据实施例的图形多处理器的框图。图4A至4F图示了其中多个图形处理单元通信地耦合到多个多核处理器的示例性架构。图5是根据实施例的图形处理流水线的概念图。图6图示了根据一个实施例的托管高效线程组调度机构的计算设备。图7图示了根据一个实施例的高效线程组调度机构。图8A图示了根据一个实施例的新线程依赖性图表。图8B图示了根据一个实施例的用于基于图表的线程调度的事务框架。图8C图示了根据一个实施例的传统图形处理单元。图8D图示了采用用于处理线程数据的新技术的图形处理器。图8E图示了根据一个实施例的用于针对机器学习的线程组优先化的新架构框架。图9图示了根据一个实施例的用于基于图表的线程调度的事务序列。图10图示了根据实施例的机器学习软件堆叠。图11图示了根据实施例的高度并行的通用图形处理单元。图12图示了根据实施例的多GPU计算系统。图13A至13B图示了示例性深度神经网络的层。图14图示了深度神经网络的训练和部署。图15图示了深度神经网络的训练和部署。图16是图示了分布式学习的框图。图17图示了适合于使用训练模型执行推断的示例性推断片上系统(SOC)。图18是带有具有一个或多个处理器核和图形处理器的处理器的计算机系统的实施例的框图。图19是具有一个或多个处理器核、集成存储器控制器和集成图形处理器的处理器的一个实施例的框图。图20是可以是分立图形处理单元或者可以是与多个处理核集成的图形处理器的图形处理器的一个实施例的框图。图21是用于图形处理器的图形处理引擎的实施例的框图。图22是图形处理器的另一实施例的框图。图23是包括处理元件阵列的线程执行逻辑的框图。图24图示了根据实施例的图形处理器执行单元指令格式。图25是包括图形流水线、媒体流水线、显示引擎、线程执行逻辑和渲染输出流水线的图形处理器的另一实施例的框图。图26A是图示了根据实施例的图形处理器命令格式的框图。图26B是图示了根据实施例的图形处理器命令序列的框图。图27图示了根据实施例的数据处理系统的示例性图形软件架构。图28是图示了根据实施例的可以用于制造用于执行操作的集成电路的IP核开发系统的框图。图29是图示了根据实施例的可使用一个或多个IP核制造的示例性片上系统集成电路的框图。图30是图示了片上系统集成电路的示例性图形处理器的框图。图31是图示了片上系统集成电路的附加示例性图形处理器的框图。具体实施方式实施例提供了用于采用和使用智能线程分派机制以减少跨计算集群的数据扰乱的新技术。实施例进一步提供了随着连同原子操作的向量化一起加载线程而对针对高速缓存的线程组输入数据的预取。应当注意,可以贯穿本文档可互换地引用像“卷积神经网络”、“CNN”、“神经网络”、“NN”、“深度神经网络”、“DNN”、“递归神经网络”、“RNN”等等之类的术语或首字母缩略词。此外,可以贯穿本文档可互换地引用像“自主机器”或仅“机器”、“自主车辆”或仅“车辆”、“自主代理”或仅“代理”、“自主设备”或“计算设备”、“机器人”等等之类的术语。在一些实施例中,图形处理单元(GPU)通信地耦合到主机/处理器核,以加速图形操作、机器学习操作、模式分析操作和各种通用GPU(GPGPU)功能。GPU可以通过总线或另一互连件(例如,高速互连件,诸如PCIe或NVLink)通信地耦合到主机处理器/核。在其他实施例中,GPU可以与核集成在相同封装或芯片上,且通过内部处理器总线/互连件(即,处于封装或芯片内部)通信地耦合到核。不论GPU连接的方式如何,处理器核都可以以工作描述符中包含的命令/指令的序列的形式将工作分配给GPU。GPU然后将专用电路/逻辑用于高效地处理这些命令/指令。在以下描述中,阐述了很多特定细节。然而,没有这些特定细节,也可以实践如本文中所描述的实施例。在其他实例中,未详细示出公知的电路、结构和技术以便不使该描述的理解变得模糊。系统概述I图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可以使得显示控制器(所述显示控制器可以被包括在一个或多个处理器10本文档来自技高网...

【技术保护点】
1.一种用于促进智能线程调度的装置,所述装置包括:检测/观察逻辑,要检测关于与多个工作负荷相对应的多个线程的依赖性信息,所述多个工作负荷关联于与包括图形处理器的处理器相关的任务;以及线程依赖性逻辑,要基于所述依赖性信息来生成线程组的树,其中每一个线程组包括多个线程;以及调度器,要调度与类似依赖性相关联的线程组中的一个或多个,以避免依赖性冲突。

【技术特征摘要】
2017.04.09 US 15/4828011.一种用于促进智能线程调度的装置,所述装置包括:检测/观察逻辑,要检测关于与多个工作负荷相对应的多个线程的依赖性信息,所述多个工作负荷关联于与包括图形处理器的处理器相关的任务;以及线程依赖性逻辑,要基于所述依赖性信息来生成线程组的树,其中每一个线程组包括多个线程;以及调度器,要调度与类似依赖性相关联的线程组中的一个或多个,以避免依赖性冲突。2.如权利要求1所述的装置,其中所述树包括多个节点,其中每一个节点表示线程组或线程。3.如权利要求1所述的装置,进一步包括:部分应用抢占逻辑,要在遇到条件时挂起一个或多个线程组,其中所述一个或多个线程要存储与所述条件相关的上下文信息的一个或多个集合,其中所述部分抢占逻辑进一步要在所述一个或多个线程组依然被挂起的同时促进另一线程组的分派。4.如权利要求3所述的装置,其中所述部分应用抢占逻辑进一步要在满足所述条件且使用上下文信息的所述一个或多个集合时重新开始所述一个或多个线程组的处理。5.如权利要求1所述的装置,进一步包括:多层处理逻辑,要使用所述图形处理器的多个处理层来促进所述多个线程组的处理,其中每一个处理层包括一个或多个流送多处理器。6.如权利要求5所述的装置,进一步包括:优先化逻辑,要基于与所述多个线程组中的第一线程组相关联的第一任务的优先级优于与所述多个线程组中的第二线程组相关联的第二任务,来相比于所述第二线程组优先化所述第一线程组,其中所述任务包括所述第一和第二任务。7.如权利要求1所述的装置,其中所述图形处理器与应用处理器协同定位在公共半导体封装上。8.一种用于促进智能线程调度的方法,所述方法包括:检测关于与多个工作负荷相对应的多个线程的依赖性信息,所述多个工作负荷关联于...

【专利技术属性】
技术研发人员:S雅哈吉达尔A科克V兰加纳坦B温布J雷R巴里克A阿普NG冯博里斯林宗翰K辛哈E努尔维塔迪
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1