一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、处理器芯片、电子设备和介质与流程

2021-11-15 18:46:00 来源:中国专利 TAG:


1.本公开涉及人工智能芯片技术领域,具体涉及数据处理方法、装置、处理器芯片、电子设备和介质。


背景技术:

2.在片上系统处理器中,存在着不同的处理器内核之间协作,以完成一个计算任务,例如,在面向深度学习的加速器或处理器,或是大数据处理的加速器或处理器中,通常需要构建异构处理器来共同实现一个计算任务,即在计算流程上异构处理器中前一个协处理器的输出数据需要被下一个处理器用到。
3.而如何控制协处理器间的协作,以提高异构处理器的整体运行效率是亟待解决的技术问题。


技术实现要素:

4.本公开提供了一种用于提高运行效率的数据处理方法、处理器芯片、装置、电子设备和介质。
5.根据本公开的一方面,提供了一种数据处理方法,用于第一协处理器,所述方法包括:
6.获取第一关系指令;
7.根据所述第一关系指令,执行所述第一关系指令之前获取的至少一个计算指令;
8.在所述至少一个计算指令执行完成的情况下,根据所述第一关系指令,发送确认信息,以使得接收到所述确认信息的第二协处理器,根据所述确认信息,恢复获取计算指令的状态。
9.根据本公开的另一方面,提供了一种数据处理方法,用于第二协处理器,所述方法包括:
10.获取控制单元发送的第一关系指令;
11.在获取所述第一关系指令的情况下,停止从所述第二协处理器对应的命令队列中获取计算指令;
12.监听所述第一协处理器发送的确认信息;
13.根据所述确认信息,恢复从所述命令队列中获取计算指令,以根据获取的所述计算指令进行数据处理。
14.根据本公开的另一方面,提供了一种处理器芯片,包括控制单元、第一协处理器和第二协处理器;
15.所述控制单元用于向所述第一协处理器,发送第一计算指令和第一关系指令,以及向所述第二协处理器,发送第二计算指令和第二关系指令;
16.所述第一协处理器,用于执行前述一方面所述的数据处理方法;
17.所述第二协处理器,用于执行前述另一方面所述的数据处理方法。
18.根据本公开的另一方面,提供了一种数据处理装置,设置于第一协处理器,所述装置包括:
19.获取模块,用于获取第一关系指令;
20.执行模块,用于根据所述第一关系指令,执行所述第一关系指令之前获取的至少一个计算指令;
21.发送模块,用于在所述至少一个计算指令执行完成的情况下,根据所述第一关系指令,发送确认信息,以使得接收到所述确认信息的第二协处理器,根据所述确认信息,恢复获取计算指令的状态。
22.根据本公开的另一方面,提供了一种数据处理装置,设置于第二协处理器,所述装置包括:
23.获取模块,用于获取控制单元发送的第一关系指令;
24.处理模块,用于在获取所述第一关系指令的情况下,停止从所述第二协处理器对应的命令队列中获取计算指令;
25.监听模块,用于监听所述第一协处理器发送的确认信息;
26.所述处理模块,还用于根据所述确认信息,恢复从所述命令队列中获取计算指令,以根据获取的所述计算指令进行数据处理。
27.根据本公开的另一方面,提供了一种电子设备,包括:
28.至少一个处理器;以及
29.与所述至少一个处理器通信连接的存储器;其中,
30.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法,或执行第二方面所述的方法。
31.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法,或执行第二方面所述的方法。
32.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法,或执行第二方面所述的方法。
33.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
34.附图用于更好地理解本方案,不构成对本公开的限定。其中:
35.图1为现有技术中协处理器间协调的示意图;
36.图2为本公开实施例提供的一种数据处理方法的流程示意图
37.图3为本公开实施例提供的另一种数据处理方法的流程示意图;
38.图4为本公开实施例提供的确认信息发送的示意图之一;
39.图5为本公开实施例提供的另一种数据处理方法的流程示意图;
40.图6为本公开实施例提供的确认信息发送的示意图之二;
41.图7为本公开实施例提供的另一种数据处理方法的流程示意图;
42.图8为本公开实施例提供的一种数据处理方法的流程示意图;
43.图9为本公开实施例提供的另一种数据处理方法的流程示意图;
44.图10为本公开实施例提供的另一种数据处理方法的流程示意图;
45.图11为本公开实施例提供的另一种数据处理方法的流程示意图;
46.图12为本公开实施例提供的一种处理器芯片的结构示意图;
47.图13为本公开实施例提供的一种数据处理装置的结构示意图;
48.图14为本公开实施例提供的一种数据处理装置的结构示意图;
49.图15为本公开实施例提供的电子设备800的示意性框图。
具体实施方式
50.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
51.下面参考附图描述本公开实施例的数据处理方法、装置、处理器芯片、电子设备和介质。
52.异构处理器中包含多个协处理器和控制单元,各个协处理器经常需要协作完成一项计算任务,例如,人工智能的深度学习场景下,或者是大数据处理场景下,即在计算流程上前一个协处理器的输出数据需要被下一个处理器用到。在协处理器之间有数据依赖的场景下,需要实现一种同步机制,使得每个处理器在正确的时间点运行,而前一个协处理器处理完毕之前,后一个协处理器不能启动。
53.相关技术中的异构处理器,通过控制单元对各个协处理器进行同步,以使得各个协处理器在正确的时间点运行。如图1所示,假如有两条发往不同协处理的指令之间存在数据依赖关系,需要同步。控制单元产生第一条指令后,首先将指令发送给对应的协处理器1,然后阻塞等待协处理器1返回完成信号。控制单元收到前一个协处理器1的完成信号后,才会继续产生第二条指令,将指令发送给下一个协处理器2。这样就可以确保各个协处理器按照正确的顺序执行。
54.然而,这种处理方式,控制单元在协处理器1运行过程中,需要阻塞等待,控制单元本身的执行开销无法被掩盖,影响整体效率。同时,在控制单元和协处理器之间分时传递指令和完成信号有时间开销,影响整体效率。
55.为此,本公开提供了一种数据处理方法,应用于人工智能的第一协处理器中,第一协处理获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个计算指令,在至少一个计算指令执行完成的情况下,根据第一关系指令,发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取计算指令的状态。本公开中,第一协处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
56.图2为本公开实施例提供的一种数据处理方法的流程示意图。
57.如图2所示,该方法包含以下步骤:
58.步骤201,获取第一关系指令。
59.本公开实施例中设定了一种关系指令,用于描述各个协处理器之间的依赖关系,该依赖关系指示了在计算流程上,协处理器执行的依赖顺序,即一个协处理器的启动需要依赖存在依赖关系的另一个协处理的确认才能启动执行,本实施例中通过发送确认信息,以协调启动时间。从而,本实施例中为了便于说明,将存在依赖关系的协处理器中,发送确认信息的协处理器称为第一协处理器,在接收到确认信息后执行的协处理器称为第二处理器,从而,第一协处理器接收到的关系指令称为第一关系指令,第二协处理器接收到的关系指令称为第二关系指令。其中,关于第二协处理器后续实施例中会进行说明。
60.本公开实施例的执行主体为第一协处理器。
61.其中,第一关系指令可以通过编译器实现,使得本领域技术人员可以通过编程控制,从而自由灵活的设计多样的协处理器间的依赖关系,满足不同的计算任务需要。
62.在本公开实施例中,第一关系指令是控制单元生成的,第一协处理器从控制单元中获取第一关系指令。
63.步骤202,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令。
64.本实施例中,控制单元根据要运行的程序,对程序进行解析得到对应的指令,其中,解析得到的指令包含第一计算指令和第一关系指令,控制单元按照程序中设定的各个指令的先后顺序,将解析得到的第一计算指令和第一关系指令,依次发送给第一协处理器,第一协处理器在接收到第一计算指令后,会执行对应的第一计算指令,而第一协处理器在接收到第一关系指令后,会根据第一关系指令,统计在第一关系指令之前接收到的至少一个第一计算指令,并执行至少一个第一计算指令。
65.步骤203,在至少一个计算指令执行完成的情况下,根据第一关系指令,发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二计算指令的状态。
66.本实施例中,第一关系指令指示第一协处理器和第二协处理器之间的依赖关系,同时还可以确定第一指令之前接收到的至少一个第一计算指令,在第一指令之前获取到的至少一个第一计算指令执行完成的情况下,根据第一关系指令指示的第一协处理器和第二协处理器之间的依赖关系,生成确认信息,并将该确认信息发送至第二协处理器,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二计算指令的状态,也就是说第二协处理器在接收到确认信息之前,第二协处理器处于停止获取和执行第二关系指令后的第二计算指令的阻塞状态,实现了第二协处理器在开始特定计算任务前等待第一协处理器发出的确认信号,使得第一协处理器和第二协处理器之间可以自行协调运行时间,大大提升了处理器整体的运行效率。
67.需要说明的是,本公开实施例中,第一协处理器将确认信息发送至第二协处理器,可通过点对点的方式发送,或者是通过广播的方式发送,后续实施例中会采用不同的实施例针对确认信息的发送方式分别进行说明。
68.本公开实施例的数据处理方法中,获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令,在至少一个第一计算指令执行完成的情况下,根据第一关系指令,发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二协处理在第二关系指令之后的第二计算指令的状态。本公开中,第一协
处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
69.基于上述实施例,本实施例提供了另一种数据处理方法,说明了第一协处理器接收到的第一关系指令中包含了和第一协处理器存在依赖关系的第二协处理器的标识,从而可将确认信息点对点的发送至第二协处理器。图3为本公开实施例提供的另一种数据处理方法的流程示意图,如图3所示,该方法包含以下步骤:
70.步骤301,获取第一关系指令。
71.其中,第一关系指令包含关键字,以及和第一协处理器存在依赖关系的第二协处理器的标识。其中,第二协处理器的标识可用于唯一标识该第二协处理器,具体的标识方法,本实施例中不进行限定。关键字指示了第一协处理器为发送方,也就是说,第一关系指令指示了第一协处理器需要向标识指示的第二协处理器发送确认信息。
72.其中,步骤201中的解释说明也适用于本公开实施例中,原理相同,本实施例中不再赘述。
73.在本公开实施例的一种实现方式中,第一关系指令可表示为:
74.关键字:发送信号接收的第二协处理器标识
75.例如,send to p2为第一关系指令,其中,send to为关键字,p2为接收的第二协处理器标识。
76.本公开实施例中,第一协处理器是指在依赖关系中,第二协处理器需要依赖第一协处理器的执行结果,从而,第一协处理器在执行完相应的结果后,需要向第二协处理器发送确认信息,因此,第一关系指令中,指示了第一协处理器在执行完毕第一关系指令之前的计算任务后,需要向第二协处理器发送确认信息。
77.步骤302,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令。
78.本公开实施例中,第一协处理器收到第一关系指令后,需要确认在第一关系指令之前接收到多少个第一计算指令,也就是说需要记录当前有多少正在执行但未执行完的计算任务。
79.其中,步骤202中的解释说明也适用于本公开实施例中,原理相同,本实施例中不再赘述。
80.步骤303,在至少一个第一计算指令执行完成的情况下,根据第一关系指令指示的第二协处理器的标识,向第二协处理器发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二计算指令的状态。
81.本公开实施例中,根据第一关系指令包含的内容,在至少一个第一计算指令执行完成的情况下,也就是当相应的计算任务都执行完毕后,需要按照第一关系指令指示的内容,向指定的第二协处理器发送确认信号,以使得接收到确认信息的第二协处理器,根据确认信息,恢复执行在接收到第二关系指令后接收到的第二计算指令的状态。
82.需要理解的是,第一协处理器只需要记录收到第一关系指令时,尚未完成的第一计算指令,在第一关系指令之后收到的第一计算指令与第一关系指令需要发送的确认信号无关;第一协处理器用于发送确认信号,第一协处理器不需要阻塞,可以继续执行第一关系指令后面接收到的第一计算指令,只需要在第一关系指令之前接收到的至少一个第一计算
指令全部执行完成后,可发送确认信息至第二协处理器。
83.为了清楚说明本公开实施例,本公开实施例提供一种示例,图4为本公开实施例提供的确认信息发送的示意图之一。如图4所示,第一协处理器p1连续收到的指令为cmd1、cmd2、send to p2和cmd3,其中cmd1、cmd2、cmd3为第一计算指令,send to p2为第一关系指令,其中,send to为关键字,p2为接收的第二协处理器标识。通常,协处理器具有较长的流水线,各条指令流水式的执行,所以在后续指令开始执行的时候,前序指令可能仍然正在执行。第一协处理器p1在接收到第一关系指令send to p2之前,已经收到第一计算指令cmd1和cmd2,故第一协处理器p1发送确认信号给第二协处理器p2的条件是第一计算指令cmd1和cmd2执行完毕。但第一关系指令send to p2并不会阻塞后续第一计算指令cmd3的执行。本公开实施例中,通过第一关系指令包含的关键字和第二协处理器的标识,使得第一协处理器在计算完成相应的计算任务后,根据指示的标识,发送确认信息给对应的第二协处理器,使得第二协处理器可以恢复执行第二关系指令后接收到的第二计算指令,以执行对应的处理器任务,实现了基于关系指令和确认信息,控制协处理器之间的同步过程,提升了异构处理器的整体运行效率。
84.需要说明的是,如果和第一协处理器之间存在依赖关系的第二协处理器可为多个,例如,为两个时,在第一关系指令中指示的用于接收的第二协处理器的标识部分,可以包含两个第二协处理器的标识,例如,第一协处理器p1,根据第一关系指令中指示的标识,将确认信息发送至第二协处理器p2和第二协处理器p3。
85.本公开实施例的数据处理方法中,获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令,在至少一个第一计算指令执行完成的情况下,根据第一关系指令,发送携带标识信息的确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二计算指令的状态。本公开中,第一协处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
86.基于上述实施例,本实施例提供了另一种数据处理方法,第一协处理器通过广播的方式发送确认信息,图5为本公开实施例提供的另一种数据处理方法的流程示意图,如图5所示,该方法包含以下步骤:
87.步骤501,获取第一关系指令。
88.本公开实施例中,第一关系指令包含设定关键字,以及事件标识。其中,事件标识每个事件编号可以对应一个有具体含义的事件,可以由软件编程人员自行规划,例如,事件为:设定时间内用户点击量。关键字指示了第一协处理器为发送方,也就是说,第一关系指令指示了第一协处理器需要将事件标识发送出去,本公开实施例中事件标识通过广播的方式发送。
89.在本公开实施例的一种实现方式中,第一关系指令可表示为:
90.关键字:发送信号事件标识
91.例如,send 1为第一关系指令,其中,send为关键字,1为事件标识,例如,1指示了统计得到的设定时间内用户点击量。
92.本公开实施例中,第一协处理器是指在依赖关系中,第二协处理器需要依赖第一协处理器的执行结果,第一关系指令中,指示了第一协处理器在执行完毕第一关系指令之
前的计算任务后,需要将确认信息发送出去,以使得需要依赖第一协处理器执行结果的第二协处理器可以根据确认信息,执行相应的计算指令。
93.步骤502,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令。
94.本公开实施例中,第一协处理器收到第一关系指令后,需要确认在第一关系指令之前接收到多少个第一计算指令,也就是说需要记录当前有多少正在执行但未执行完的计算任务。
95.步骤503,在至少一个第一计算指令执行完成的情况下,广播包含事件标识的确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二计算指令的状态。
96.本公开实施例中,根据第一关系指令包含的内容,在至少一个第一计算指令执行完成的情况下,也就是当相应的计算任务都执行完毕后,需要按照第一关系指令指示的内容,广播包含事件标识的确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取在接收到第二关系指令后的第二计算指令的状态。
97.需要理解的是,第一协处理器只需要记录收到第一关系指令时,尚未完成的第一计算指令,在第一关系指令之后收到的第一计算指令与第一关系指令需要发送的确认信号无关;第一协处理器用于发送确认信号,第一协处理器不需要阻塞,可以继续执行第一关系指令后面接收到的第一计算指令,只需要在第一关系指令之前接收到的至少一个第一计算指令全部执行完成后,可发送确认信息至第二协处理器。
98.为了清楚说明本公开实施例,本公开实施例提供一种示例,图6为本公开实施例提供的确认信息发送的示意图之二。如图4所示,第一协处理器p1连续收到的指令为cmd1、cmd2、send1和cmd3,其中cmd1、cmd2、cmd3为第一计算指令,send1为第一关系指令,其中,send为关键字“发送”,1为事件标识。通常,协处理器具有较长的流水线,各条指令流水式的执行,所以在后续指令开始执行的时候,前序指令可能仍然正在执行。第一协处理器p1在接收到第一关系指令send 1之前,已经收到第一计算指令cmd1和cmd2,故第一协处理器p1广播确认信号的条件是第一计算指令cmd1和cmd2执行完毕。但第一关系指令send 1并不会阻塞后续第一计算指令cmd3的执行。本公开实施例中,通过第一关系指令包含的关键字和事件标识,使得第一协处理器在计算完成相应的计算任务后,通过广播的方式发送事件标识,使得接收到事件标识的各个第二协处理器可以根据接收到的第二关系指令,确认恢复执行第二关系指令后接收到的第二计算指令,以执行对应的处理器任务,本公开中,在和第一协处理器存在依赖关系的第二协处理器为多个时,通过广播的方式发送确认信息,提高了第一协处理的发送效率,基于关系指令和确认信息,实现了控制协处理器之间的同步过程,提升了异构处理器的整体运行效率。
99.需要说明的是,第二协处理器在接收到第二关系指令后,对于第二关系指令后相邻的第二计算指令,可以在接收到第二关系指令后,继续从控制单元接收至第二协处理器中;或者可以在接收到第二关系指令,阻塞从控制单元中获取第二计算指令,而在接收到确认消息后,再从控制单元中获取第二计算指令并执行第二计算指令。
100.需要理解的是,步骤201

203中的解释说明,也适用于本公开实施例,原理相同,本公开实施例中不再赘述。
101.本公开实施例的数据处理方法中,获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令,在至少一个第一计算指令执行完成的情况下,根据第一关系指令,广播发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取计算指令的状态。本公开中,第一协处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
102.基于上述实施例,公开实施例提供了一种实现方式,图7为本公开实施例提供的另一种数据处理方法的流程示意图,如图7所示,步骤201、301和501之前包含以下步骤:
103.步骤701,获取控制单元发送的命令队列查询请求。
104.步骤702,根据查询请求,查询命令队列中包含的剩余存储空间。
105.步骤703,将查询到的剩余存储空间的指示信息发送至控制单元,以使得控制单元将第一关系指令或第一计算指令存储至剩余存储空间中。
106.其中,第一协处理器中设置了对应的命令队列,命令队列用于存储控制单元发送至第一协处理器的指令,如第一计算指令或第一关系指令。
107.本公开实施例中,第一协处理器根据获取的控制单元发送的命令队列查询请求,查询第一协处理器对应的命令队列中剩余的存储空间,并将查询到的剩余的存储空间的指示信息发送至控制单元,其中,指示信息可以为存储空间的地址信息,使得控制单元根据指示信息将第一关系指令或第一计算指令存储至剩余存储空间中,实现了在第一协处理器和第二协处理器间协调运行时间的过程中,控制单元可以将解析得到的指令先存储至第一协处理器对应的命令队列中,实现了控制单元无阻塞的向第一协处理器发送指令,使得控制单元和各个协处理器可并行运行,提高了异构处理器的运行效率。
108.基于上述实施例,本实施例提供了一种数据处理方法,应用于芯片中的第二协处理器。图8为本公开实施例提供的一种数据处理方法的流程示意图,如图8所示,该方法包含以下步骤:
109.步骤801,获取控制单元发送的第二关系指令。
110.关于第二关系指令的说明,可参照步骤201中的解释说明,原理相同,本实施例中不再赘述。
111.步骤802,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令。
112.其中,命令队列用于存储从控制单元获取到的各个指令,包含第二关系指令和第二计算指令。
113.本公开实施例中,第二协处理器在获取到第二关系指令后,则需要停止从对应的命令队列中获取第二计算指令,也就是说在获取到第二关系指令后,需要阻塞指令的继续获取,以等待确认信息。
114.需要说明的是,第二协处理器会停止从命令队列中获取指令,但是控制单元可以继续将指令发送至命令队列,直至命令队列中无存储空间。
115.步骤803,监听第一协处理器发送的确认信息。
116.在本公开实施例的一种实现方式中,第二协处理器获取第一协处理器发送的确认信息。
117.在本公开实施例的一种实现方式中,第二协处理器获取第一协处理器通过广播的方式发送的确认信息。
118.其中,第一协处理器发送确认信息的相关解释说明,可参照前述实施例,本实施例中不再赘述。
119.步骤804,根据确认信息和第二关系指令,恢复从命令队列中获取第二计算指令的状态。
120.本公开实施例中,第二协处理器根据接收到的确认信息中携带的用于确认和接收到的第二关系指令中包含的标识信息是否匹配的信息,以使得第二协处理器在接收到确认信息后,通过和第二关系指令匹配,以确认是否可以恢复从命令队列中获取第二计算指令的状态,并在确认可以恢复从命令队列中获取第二计算指令的状态后,在第二关系指令之前获取到的第二计算指令执行完成后,执行第二关系指令之后获取的计算指令,实现了在第一协处理和第二协处理器之间可以自行协调运行时间,大大提升了处理器整体的运行效率。
121.本公开实施例的数据处理方法中,第二协处理器获取控制单元发送的第二关系指令,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令,监听第一协处理器发送的确认信息,根据确认信息和第二关系指令,恢复从命令队列中获取第二计算指令的状态,实现了基于确认信息和第二关系指令,使得协处理器间自行协调运行时间,提升了整体的运行效率。
122.基于上述实施例,本实施例提供了另一种数据处理方法,说明了第二关系指令中包含第一协处理器的标识的情况下,如何根据关系信息协调不同的协处理器间的运行时间,图9为本公开实施例提供的另一种数据处理方法的流程示意图,如图9所示,该方法包含以下步骤:
123.步骤901,获取控制单元发送的第二关系指令。
124.其中,第二关系指令包含关键字,以及和第二协处理器存在依赖关系的第一协处理器的标识。其中,第一协处理器的标识可用于唯一标识该第一协处理器,具体的标识方法,本实施例中不进行限定。关键字指示了第二协处理器为接收方,也就是说,第二关系指令指示了第二协处理器需要获取标识指示的第一协处理器发送的确认信息。
125.其中,步骤201中的解释说明也适用于本公开实施例中,原理相同,本实施例中不再赘述。
126.在本公开实施例的一种实现方式中,第二关系指令可表示为:
127.关键字:接收信号发送的第一协处理器标识
128.例如,recv from p1为第二关系指令,其中,recv from为关键字,p1为发送确认信息的第一协处理器标识。
129.步骤902,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令。
130.如图4所示,第二协处理器p2可收到的指令为cmd4、cmd5、recv from p1和cmd6,其中cmd4、cmd5、cmd6为第二计算指令,recv to p1为第二关系指令。第二关系指令recv from p1之前第二协处理器p2已经收到第二计算指令cmd4和cmd5,其中,cmd4、cmd5会继续执行。但是,第二协处理器p2接收到来自第一协处理器p1的确认信息前,第二计算指令cmd6会被
阻塞,也就是说第二协处理器p2会停止从命令队列中获取cmd6。
131.步骤903,监听第一协处理器发送的确认信息。
132.步骤901

步骤903可参照前述实施例中的解释说明,原理相同,本实施例中不再赘述。
133.步骤904,在确认信息中包含的第一协处理器的标识,和第二关系指令中包含的第一协处理器的标识匹配的情况下,恢复从命令队列中获取第二计算指令。
134.其中,第二关系指令中包含存在依赖关系的协处理器的标识。
135.而确认信息中包含第一协处理器的标识,第二协处理器在接收到确认信息后,将确认信息中包含的协处理器的标识和第二关系指令中包含的协处理器的标识进行匹配,在标识匹配的情况下,恢复从命令队列中获取第二计算指令。
136.进一步,作为一种实现方式,如图4所示,在接收到确认信息后,若标识信息匹配,则第二协处理器在第二关系指令recv from p1之前接收到的第二计算指令cmd4和cmd5执行完毕后,执行第二关系指令recv from p1之后接收到的第二计算指令cmd6。
137.本公开实施例的数据处理方法中,第二协处理器获取控制单元发送的第二关系指令,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令,监听第一协处理器发送的确认信息,根据确认信息和第二关系指令,恢复从命令队列中获取第二计算指令的状态,实现了基于确认信息和第二关系指令,使得协处理器间自行协调运行时间,提升了整体的运行效率。
138.基于上述实施例,本实施例提供了另一种数据处理方法,说明了关系指令中包含事件的标识信息的情况下,如何根据关系信息协调不同的协处理器间的运行时间,图10为本公开实施例提供的另一种数据处理方法的流程示意图,如图10所示,该方法包含以下步骤:
139.步骤1001,获取控制单元发送的第二关系指令。
140.本公开实施例中,第二关系指令包含设定关键字,以及事件标识。其中,事件标识每个事件编号可以对应一个有具体含义的事件,可以由软件编程人员自行规划,例如,事件为:设定时间内用户点击量。关键字指示了第二协处理器为接收方,也就是说,第二关系指令指示了第二协处理器需要获取事件标识,本公开实施例中事件标识通过广播的方式发送。
141.在本公开实施例的一种实现方式中,第二关系指令可表示为:
142.关键字:接收信号事件标识
143.例如,recv 1为第二关系指令,其中,recv为关键字,1为事件标识,例如,1指示了统计得到的设定时间内用户点击量。
144.步骤1002,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令。
145.步骤1003,监听第一协处理器发送的确认信息。
146.步骤1001

步骤1003可参照前述实施例中的解释说明,原理相同,本实施例中不再赘述。
147.步骤1004,在确认信息中包含的事件标识,和第一关系指令中包含的事件标识匹配的情况下,恢复从命令队列中获取第二计算指令。
148.其中,第二关系指令中包含存在依赖关系的事件标识,例如,事件为:设定时间内用户点击量,用数字“1”标识。
149.而确认信息中包含第一协处理器的标识,第二协处理器在接收到确认信息后,将确认信息中包含的协处理器的标识和第二关系指令中包含的协处理器的标识进行匹配,在标识匹配的情况下,恢复从命令队列中获取第二计算指令。
150.进一步,作为一种实现方式,如图4所示,在接收到确认信息后,若事件标识匹配,则第二协处理器在第二关系指令recv from p1之前接收到的第二计算指令cmd4和cmd5执行完毕后,执行第二关系指令recv from p1之后接收到的第二计算指令cmd6。
151.本公开实施例的数据处理方法中,第二协处理器获取控制单元发送的第二关系指令,在获取第二关系指令的情况下,停止从第二协处理器对应的命令队列中获取第二计算指令,监听第一协处理器发送的确认信息,根据确认信息和第二关系指令,恢复从命令队列中获取第二计算指令的状态,实现了基于确认信息和第二关系指令,使得协处理器间自行协调运行时间,提升了整体的运行效率。
152.基于上述实施例,本实施例提供了一种实现方式,图11为本公开实施例提供的另一种数据处理方法的流程示意图,如图11所示,步骤801、901和1001之前包含以下步骤:
153.步骤1101,获取控制单元发送的命令队列查询请求。
154.步骤1102,根据查询请求,查询命令队列中包含的剩余存储空间。
155.步骤1103,将查询到的剩余存储空间的指示信息发送至控制单元,以使得控制单元将第二关系指令或第二计算指令存储至剩余存储空间中。
156.其中,第二协处理器中设置了对应的命令队列,命令队列用于存储控制单元发送至第二协处理器的指令,如第二计算指令或第二关系指令。
157.本公开实施例中,第二协处理器根据获取的控制单元发送的命令队列查询请求,查询第二协处理器对应的命令队列中剩余的存储空间,并将查询到的剩余的存储空间的指示信息发送至控制单元,其中,指示信息可以为存储空间的地址信息,使得控制单元根据指示信息将第二关系指令或第二计算指令存储至剩余存储空间中,实现了在第一协处理器和第二协处理器间协调运行时间的过程中,控制单元可以将解析得到的指令先存储至第二协处理器对应的命令队列中,实现了控制单元无阻塞的向第二协处理器发送指令,使得控制单元和各个协处理器可并行运行,提高了异构处理器的运行效率。
158.为了实现上述实施例,本公开实施例提供了一种处理器芯片。
159.图12为本公开实施例提供的一种处理器芯片的结构示意图,其中,处理器芯片例如为异构处理器,异构处理器可应用于深度学习的处理器或加速器,或者是大数据处理的处理器或加速器中,以实现计算任务。
160.在一种场景下,面向深度学习的加速器或处理器,会将神经网络的每层抽象为一个算子,比如卷积、全连接、池化、激活等,硬件会对应的分多个模块实现,比如卷积模块、全连接模块、池化模块、激活模块等,通过对这些模块的调用来共同实现一个计算任务。
161.在另一种场景下,大数据处理的加速器或处理器,会将数据库查询中的每个操作抽象为一个算子,比如过滤、连接、排序、聚合等,硬件会对应的分多个模块实现,比如过滤模块、连接模块、排序模块、聚合模块等,通过对这些模块的调用来共同实现一个计算任务。
162.如图12所示,该处理器芯片包含控制单元1201、第一协处理器1202和第二协处理
器1203。
163.控制单元1201,用于向第一协处理器1202发送第一计算指令和第一关系指令,以及向第二协处理器1203发送第二计算指令和第二关系指令。
164.第一协处理器1202,用于执行图1

图7对应实施例中所述的数据处理方法。
165.第二协处理器1203,用于执行图8

图11对应实施例中所述的数据处理方法。
166.具体可参照前述图2

图11对应实施例中的解释说明,原理相同,本实施例中不再赘述。
167.本实施例中的处理器芯片中,第一协处理器根据从控制单元中获取的第一关系指令,生成确认信息,而第二协处理器根据从控制单元中获取到的第二关系指令,以及从第一协处理器获取到的确认消息,协调第一协处理器和第二协处理器之间的运行时间,而不需要有处理器来控制第一协处理器和第二协处理器之间的运行时间,避免了控制单元单独的开销,提高了整体的运行效率。
168.为了实现上述实施例,本公开实施例提供了一种数据处理装置。
169.图13为本公开实施例提供的一种数据处理装置的结构示意图,如图13所示,该装置包括:
170.获取模块131,用于获取第一关系指令。
171.执行模块132,用于根据所述第一关系指令,执行所述第一关系指令之前获取的至少一个第一计算指令.
172.发送模块133,用于在所述至少一个第一计算指令执行完成的情况下,根据所述第一关系指令,发送确认信息,以使得接收到所述确认信息的第二协处理器,根据所述确认信息,恢复获取第二计算指令的状态;其中,所述第二计算指令是所述第二协处理器在接收到第二关系指令之后获取到的。
173.进一步,作为本公开实施例的一种实现方式,
174.所述第一关系指令包含了和所述第一协处理器存在依赖关系的第二协处理器的标识;发送模块133,用于:
175.在所述至少一个计算指令执行完成的情况下,根据所述第一关系指令指示的第二协处理器的标识,向所述第二协处理器发送所述确认信息。
176.作为本公开实施例的一种实现方式,所述第一关系指令包含事件标识;发送模块133,用于:
177.在所述至少一个计算指令执行完成的情况下,广播包含所述事件标识的确认信息。
178.作为本公开实施例的一种实现方式,该装置还包括:
179.获取模块131,还用于获取控制单元发送的命令队列查询请求;
180.查询模块,用于根据所述查询请求,查询所述命令队列中包含的剩余存储空间;
181.发送模块133,还用于将查询到的所述剩余存储空间的指示信息发送至所述控制单元,以使得所述控制单元将所述第一关系指令或第一计算指令存储至所述剩余存储空间中。
182.需要说明的是,前述对方法实施例的解释说明,也适用于本实施例的装置,原理相同,本实施例中不再赘述。
183.本公开实施例的数据处理装置中,获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令,在至少一个第一计算指令执行完成的情况下,根据第一关系指令,发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二协处理在第二关系指令之后的第二计算指令的状态。本公开中,第一协处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
184.为了实现上述实施例,本公开实施例提供了一种数据处理装置。
185.图14为本公开实施例提供的一种数据处理装置的结构示意图,如图14所示,该装置包括:
186.获取模块141,用于获取控制单元发送的第一关系指令。
187.处理模块142,用于在获取所述第一关系指令的情况下,停止从所述第二协处理器对应的命令队列中获取第二计算指令。
188.监听模块143,用于监听所述第一协处理器发送的确认信息.
189.所述处理模块143,还用于根据所述确认信息和所述第二关系指令,恢复从所述命令队列中获取第二计算指令的状态。
190.进一步,在本公开实施例的一种实现方式中,第一关系指令包含所述第一协处理器的标识;处理模块143,用于:
191.在所述确认信息中包含的所述第一协处理器的标识,和所述第二关系指令中包含的所述第一协处理器的标识匹配的情况下,恢复从所述命令队列中获取第二计算指令。
192.在本公开实施例的一种实现方式中,第一关系指令包含事件标识;处理模块143,用于:
193.在所述确认信息中包含的所述事件标识,和所述第一关系指令中包含的所述事件标识匹配的情况下,恢复从所述命令队列中获取第二计算指令。
194.在本公开实施例的一种实现方式中,装置还包括:
195.获取模块141,还用于获取控制单元发送的命令队列查询请求。
196.查询模块,用于根据所述查询请求,查询所述命令队列中包含的剩余存储空间。
197.发送模块,用于将查询到的所述剩余存储空间的指示信息发送至所述控制单元,以使得所述控制单元将所述第二关系指令或第二计算指令存储至所述剩余存储空间中。
198.需要说明的是,前述对方法实施例的解释说明,也适用于本实施例的装置,原理相同,本实施例中不再赘述。
199.本公开实施例的数据处理装置中,获取第一关系指令,根据第一关系指令,执行第一关系指令之前获取的至少一个第一计算指令,在至少一个第一计算指令执行完成的情况下,根据第一关系指令,发送确认信息,以使得接收到确认信息的第二协处理器,根据确认信息,恢复获取第二协处理在第二关系指令之后的第二计算指令的状态。本公开中,第一协处理和第二协处理间根据第一关系指令,生成确认信息,根据确认信息实现协处理器间自行协调运行时间,提升了整体的运行效率。
200.为了实现上述实施例,本实施例提供了一种电子设备,包括:
201.至少一个处理器;以及
202.与所述至少一个处理器通信连接的存储器;其中,
203.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例所述的方法。
204.为了实现上述实施例,本实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述方法实施例所述的方法。
205.为了实现上述实施例,本实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述方法实施例所述的方法。
206.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
207.图15为本公开实施例提供的电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
208.如图15所示,设备800包括计算单元801,其可以根据存储在rom(read

only memory,只读存储器)802中的计算机程序或者从存储单元808加载到ram(random access memory,随机访问/存取存储器)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。i/o(input/output,输入/输出)接口805也连接至总线804。
209.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
210.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于cpu(central processing unit,中央处理单元)、gpu(graphic processing units,图形处理单元)、各种专用的ai(artificial intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、dsp(digital signal processor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
211.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、fpga(field programmable gate array,现场可编程门阵列)、asic(application

specific integrated circuit,专用集成电路)、assp(application specific standard product,专用标准产品)、soc(system on chip,芯片上系统的系统)、cpld(complex programmable logic device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们
的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
212.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
213.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom(electrically programmable read

only

memory,可擦除可编程只读存储器)或快闪存储器、光纤、cd

rom(compact disc read

only memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
214.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(cathode

ray tube,阴极射线管)或者lcd(liquid crystal display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
215.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:lan(local area network,局域网)、wan(wide area network,广域网)、互联网和区块链网络。
216.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
217.其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能
行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
218.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
219.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献