实施例总体上涉及数据处理,且更具体地涉及经由通用图形处理单元进行的数据处理。
背景技术:
1、当前的并行图形数据处理包括被开发用于对图形数据执行特定操作的系统和方法,这些特定操作如例如线性内插、曲面细分、栅格化、纹理映射、深度测试等。传统上,图形处理器使用固定功能计算单元来处理图形数据;然而,最近,图形处理器的多个部分已变得可编程,从而使得这样的处理器能够支持用于处理顶点和片段数据的更广泛种类的操作。
2、为进一步提高性能,图形处理器通常实施处理技术(比如,流水线操作),这些处理技术试图贯穿图形流水线的不同部分来并行处理尽可能多的图形数据。具有单指令多线程(simt)架构的并行图形处理器被设计成最大化图形流水线中的并行处理量。在simt架构中,多组并行线程试图尽可能经常地一起同步执行程序指令,以提高处理效率。用于simt架构的软件和硬件的一般性概述可以在以下两者中找到:shane cook的cuda编程(cudaprogramming),第3章,第37-51页(2013年);和/或nicholas wilt的cuda手册(gpu编程的综合指南(a comprehensive guide to gpu programming)),章节2.6.2到3.1.2(2013年6月)。
技术实现思路
1.一种存储指令的非暂态机器可读介质,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下的操作:
2.如权利要求1所述的非暂态机器可读介质,其中,所述操作还包括:
3.如权利要求2所述的非暂态机器可读介质,其中,所述通信模块用于控制消息传送库以通过所述通信模式经由高性能通信结构来传输数据。
4.如权利要求3所述的非暂态机器可读介质,所述操作还包括接收通信端点的数量的指示以启用所述消息传送库。
5.如权利要求4所述的非暂态机器可读介质,所述操作还包括:针对所述通信端点中的每一个将所述一个或多个处理器的处理器核分配给所述消息传送库。
6.如权利要求5所述的非暂态机器可读介质,其中,所述神经网络的所述层包括卷积层和完全连接层。
7.如权利要求6所述的非暂态机器可读介质,其中,所述操作还包括:将第一通信模式应用于所述卷积层并将第二通信模式应用于所述完全连接层。
8.如权利要求7所述的非暂态机器可读介质,其中,在所述神经网络的所述分布式训练期间应用的所述通信模式包括聚集、散播、或归约通信模式中的一种或多种。
9.如权利要求8所述的非暂态机器可读介质,其中,在所述神经网络的所述分布式训练期间应用的所述通信模式包括全聚集、归约散播、或全归约通信模式中的一种或多种。
10.如权利要求9所述的非暂态机器可读介质,其中,在所述神经网络的所述分布式训练期间应用的所述通信模式包括全互换通信模式。
11.如权利要求10所述的非暂态机器可读介质,其中,所述操作还包括在所述一个或多个处理器上启用重叠的计算和通信操作。
12.如权利要求11所述的非暂态机器可读介质,其中,所述重叠的计算和通信操作在计算操作期间启用通信操作的异步进行。
13.一种方法,包括:
14.如权利要求13所述的方法,还包括:控制消息传送库以通过所述通信模式经由高性能通信结构来传输数据。
15.如权利要求14所述的方法,还包括:接收通信端点的数量的指示以启用所述消息传送库;以及针对所述通信端点中的每一个将所述一个或多个处理器的处理器核分配给所述消息传送库。
16.一种设备,包括:
17.如权利要求16所述的设备,其中,所述一个或多个处理器包括结构接口以及在所述结构接口与所述一个或多个处理器之间共享的本地存储器。
18.如权利要求17所述的设备,其中,所述结构接口包括通过数据传输库内的指令可配置的硬件模块,所述硬件模块用于加速对存储在所述本地存储器中的数据的传输。
19.如权利要求18所述的设备,其中,为了执行与所述机器学习框架工作流程相关联的计算操作,所述一个或多个处理器用于执行与前向计算相关联的计算操作以生成一组激活数据。
20.一种设备,包括:
21.如权利要求20所述的设备,其中,所述一个或多个处理器包括在结构接口与所述一个或多个处理器之间共享的本地存储器。
22.如权利要求21所述的设备,其中,所述一个或多个处理器与所述结构接口通信,以实现与所述一组可训练机器学习参数相关联的数据的传送和接收,所述结构接口包括通过所述库内的指令可配置的硬件模块,其中,所述硬件模块用于加速对存储在所述本地存储器中的数据的传输。
23.如权利要求22所述的设备,其中,为了执行与所述机器学习框架工作流程相关联的计算操作,所述一个或多个处理器用于执行与前向计算相关联的计算操作以生成一组激活数据。