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

用于深度学习框架的细粒度计算通信执行制造技术

技术编号:19427902 阅读:19 留言:0更新日期:2018-11-14 11:05
一个实施例提供用于配置神经网络的分布式训练的系统。该系统包括:存储器,所述存储器用于存储用以促进所述神经网络的分布式训练期间的数据传输的库;网络接口,所述网络接口用于发送和接收与所述可训练参数相关联的梯度数据;通用处理器,所述通用处理器用于执行由所述库提供的指令,所述指令使所述通用处理器将所述网络接口配置成在机器学习框架的工作流期间发送和接收与所述可训练参数相关联的所述梯度数据;以及图形处理器,所述图形处理器用于执行与机器学习框架工作流相关联的计算操作,以生成与所述可训练参数相关联的所述梯度数据,其中,基于所述机器学习框架工作流,所述库将所述图形处理器上的所述计算操作与经由所述网络接口的梯度数据的发送和接收进行交错。

【技术实现步骤摘要】
用于深度学习框架的细粒度计算通信执行交叉引用本申请要求2017年5月5日提交的62/502,453号美国临时申请的权益,该美国临时申请藉此通过引用而被纳入本文。
实施例总体上涉及数据处理,且更具体地涉及经由通用图形处理单元进行的数据处理。
技术介绍
当前的并行图形数据处理包括被开发用于对图形数据执行特定操作的系统和方法,这些特定操作如例如线性内插、曲面细分、栅格化、纹理映射、深度测试等。传统上,图形处理器使用固定功能计算单元来处理图形数据;然而,最近,图形处理器的多个部分已变得可编程,从而使得这样的处理器能够支持用于处理顶点和片段数据的更广泛种类的操作。为进一步提高性能,图形处理器通常实施处理技术(比如,流水线操作),这些处理技术试图贯穿图形流水线的不同部分来并行处理尽可能多的图形数据。具有单指令多线程(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);图14A至图14E示出了根据本文中所述的实施例在跨多个计算节点所执行的分布式机器学习计算操作期间使用的通信模式;图15A至图15C示出了由本文中所述的实施例所提供的机器学习扩展库的体系结构细节;图16A至图16B示出了由本文中所述的实施例所启用的分布式机器学习训练;图16C示出了根据实施例的使用点对点原语的节点间通信;图17A示出了根据实施例的多节点计算系统;图17B示出了根据实施例的具有分布式虚拟地址的点对点网络;图18示出了根据实施例的替代的MLSL架构;图19A示出了适合用于细粒度计算和通信重叠的张量计算操作;图19B示出了根据实施例的多节点系统之间的同步存储器访问;图19C示出了被加以扩展以实现高速缓存存储器数据的粗粒度高速缓存一致性的存储器通信语义;图20A-20B示出了描述用于经由MLSLAPI来实现分布式机器学习的操作的流程图;图21A-21B示出了根据本文中所描述的实施例的执行神经网络的分布式训练的方法;图22是根据本文中所述的实施例的数据处理系统的框图;图23是根据实施例的处理系统的框图。图24是根据实施例的处理器的框图;图25是根据实施例的图形处理器的框图;图26是根据一些实施例的图形处理器的图形处理引擎的框图;图27是由附加实施例提供的图形处理器的框图;图28展示了线程执行逻辑,所述线程执行逻辑包括在一些实施例中采用的处理元件阵列;图29是展示了根据一些实施例的图形处理器指令格式的框图;图30是根据另一个实施例的图形处理器的框图;图31A至图31B展示了根据一些实施例的图形处理器命令格式和命令序列;图32展示了根据一些实施例的数据处理系统的示例性图形软件架构;图33是展示了根据实施例的IP核开发系统的框图;图34是展示了根据实施例的示例性芯片上系统集成电路的框图;图35是展示了根据实施例的附加图形处理器的框图;以及图36是展示了根据实施例的芯片上系统集成电路的附加示例性图形处理器的框图。具体实施方式在一些实施例中,图形处理单元(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内,系统存储本文档来自技高网...

【技术保护点】
1.一种用于配置神经网络的分布式训练的系统,所述系统包括:存储器,所述存储器用于存储库,所述库用于促进所述神经网络的分布式训练期间的数据传输,所述数据与所述神经网络的可训练参数相关联;网络接口,所述网络接口用于发送和接收与所述可训练参数相关联的梯度数据;通用处理器,所述通用处理器用于执行由所述库提供的指令,所述指令使所述通用处理器将所述网络接口配置成在机器学习框架的工作流期间发送和接收与所述可训练参数相关联的所述梯度数据;以及图形处理器,所述图形处理器用于执行与机器学习框架工作流相关联的计算操作,以生成与所述可训练参数相关联的所述梯度数据,其中,基于所述机器学习框架工作流,所述库将所述图形处理器上的所述计算操作与经由所述网络接口的梯度数据的发送和接收进行交错。

【技术特征摘要】
2017.05.05 US 62/502,453;2018.01.12 US 15/869,5021.一种用于配置神经网络的分布式训练的系统,所述系统包括:存储器,所述存储器用于存储库,所述库用于促进所述神经网络的分布式训练期间的数据传输,所述数据与所述神经网络的可训练参数相关联;网络接口,所述网络接口用于发送和接收与所述可训练参数相关联的梯度数据;通用处理器,所述通用处理器用于执行由所述库提供的指令,所述指令使所述通用处理器将所述网络接口配置成在机器学习框架的工作流期间发送和接收与所述可训练参数相关联的所述梯度数据;以及图形处理器,所述图形处理器用于执行与机器学习框架工作流相关联的计算操作,以生成与所述可训练参数相关联的所述梯度数据,其中,基于所述机器学习框架工作流,所述库将所述图形处理器上的所述计算操作与经由所述网络接口的梯度数据的发送和接收进行交错。2.如权利要求1所述的系统,其特征在于,计算操作被配置成与经由所述网络接口发送或接收梯度数据的通信操作重叠。3.如权利要求2所述的系统,所述机器学习框架工作流用于使所述图形处理器执行与所述神经网络的第一层的第一部分相关联的计算操作。4.如权利要求3所述的系统,其特征在于,响应于完成与所述神经网络的第一层的第一部分相关联的所述计算操作的通知,所述库用于使所述网络接口发送所述计算操作的结果。5.如权利要求4所述的系统,所述网络接口用于根据通信模式来发送所述结果,所述通信模式用于在所述神经网络的分布式训练期间要在工作者节点之间进行传输的消息。6.如权利要求5所述的系统,其特征在于,所述通信模式是聚集、散播、全聚集、全互换、归约、归约_散播、或者全归约。7.如权利要求1所述的系统,其特征在于,所述网络接口是用于实现到通信结构的连接的结构接口,所述通信结构用于将分布式训练网络的工作者节点互连。8.如权利要求7所述的系统,其特征在于,所述结构接口是外围部件互连快速接口。9.如权利要求7所述的系统,其特征在于,所述结构接口是NVLink接口。10.如权利要求7-9中任一项所述的系统,其特征在于,所述图形处理器包括所述结构接口的至少一部分。11.一种执行神经网络的分布式训练的方法,所述方法包括:将库存储到存储器中,所述库用于促进所述神经网络的分布式训练期间的数据传输,所述数据与所述神经网络的可训练参数相关联;经由网络接口发送和接收与所述可训练参数相关联的梯度数据;经由通用处理器执行由所述库提供的指令,所述指令使所述通用处理器将所述网络接口配置成在机器学习框架的工作流期间发送和接收与所述可训练参数相关联的所述梯度数据;以及经由图形处理器执行与机器学习框架工作流相关联的计算操作,以生成与所述可训练参数相关联的所述梯度数据,所述计算操作与经由所述网络接口的梯度数据的发送和接收交错。12.如权利要求11所述的方法,附加地包括将计算操作配置成与经...

【专利技术属性】
技术研发人员:S·斯瑞哈兰D·穆迪盖雷
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1