任务执行方法、装置、处理器、电子设备及存储介质制造方法及图纸

技术编号:38138485 阅读:13 留言:0更新日期:2023-07-08 09:51
本申请涉及一种任务执行方法、装置、处理器、电子设备及存储介质,属于人工智能技术领域。该任务执行方法包括根据待执行的总任务,确定AI芯片中硬件设备需要执行的计算任务;根据AI芯片中硬件设备需要执行的计算任务,确定对应的子任务列表,其中,子任务列表中包括从执行文件中的不同批尺寸的子任务中选择得到的多个子任务;将子任务列表中各个子任务包含的指令,分发给AI芯片执行。该任务执行方法使得允许在前期编译的时候,无需生成包含各种batch尺寸任务量的执行文件,而是可以仅生成包含几种指定batch尺寸任务量的执行文件,从而可以极大提高处理器的运行效率,同时,也可以节约执行文件所需的存储空间。以节约执行文件所需的存储空间。以节约执行文件所需的存储空间。

【技术实现步骤摘要】
任务执行方法、装置、处理器、电子设备及存储介质


[0001]本申请属于人工智能
,具体涉及一种任务执行方法、装置、处理器、电子设备及存储介质。

技术介绍

[0002]通常AI(Artificial Intelligence,人工智能)网络中的执行batch(批处理任务)和编译batch的尺寸是不同的。在为AI网络进行编译的时候会提供一个最大批处理任务量的尺寸max batch,编译器会基于这个max batch来编译生成执行文件。而在真正需要执行AI网络的时候,用户通过上传指定不同的执行batch(尺寸小于等于max batch)来运行AI网络。
[0003]目前常用的处理方式是,在用户传入小于等于max batch的执行batch后,从编译器生成的执行文件中找到batch尺寸与用户传入的执行batch尺寸相同的任务量(tile),从而执行对应的硬件指令。其中,为了能够从编译器生成的执行文件中找到batch尺寸与执行batch尺寸相同的任务量(tile),在编译的时候,需要根据max batch依次生成包含各种batch尺寸(1batch~max batch)任务量的执行文件,例如,假设max batch为4batch,则需要在编译期生成包含1batch任务量、2batch任务量、3batch任务量、4batch任务量的执行文件。这种方式会导致编译时间大大增加,并且,如果max batch的值很大,那么在编译期需要基于该max batch生成的任务量种类就更多,这会导致编译生成的执行文件需占用的存储空间非常大,例如,若max batch为1000 batch,则需要编译生成包含1000个不同batch尺寸任务量的执行文件,可能导致磁盘无法存储空间占用量过大的相应执行文件。

技术实现思路

[0004]鉴于此,本申请的目的在于提供一种任务执行方法、装置、处理器、电子设备及存储介质,以改善目前为了执行AI网络对应的计算任务而存在的处理效率低以及所需存储空间大的问题。
[0005]本申请的实施例是这样实现的:第一方面,本申请实施例提供了一种任务执行方法,包括:根据待执行的总任务,确定AI芯片中硬件设备需要执行的计算任务;根据所述AI芯片中硬件设备需要执行的计算任务,确定对应的子任务列表,其中,所述子任务列表包括多个子任务,所述多个子任务是从执行文件中的不同批尺寸的子任务中选择得到的,且任务量之和与所述计算任务的任务量一致; 将所述子任务列表中各个子任务包含的指令,分发给所述AI芯片执行,以使所述AI芯片中的硬件设备执行各个子任务的指令完成对应的子任务。
[0006]相较于依赖在编译期生成足够多种类的任务量,并在运行时从编译生成的执行文件中选一个任务量与用户需求量相同的任务来执行的处理方式,本申请实施例中,通过选择执行文件中的不同批尺寸的子任务来组成总任务,即利用多个子任务来拼凑成总任务,使得允许在编译期无需依次生成包含各种batch尺寸任务量的执行文件,而是可以仅生成
包含几种不同指定batch尺寸任务量的执行文件,有利于降低编译处理难度,缩短编译时间,可以提高处理器的运行效率,同时,由于允许生成的执行文件包含的batch尺寸任务量种类减少,也可以节约很大的存储空间。
[0007]结合第一方面实施例的一种可能的实施方式,根据所述AI芯片中硬件设备需要执行的计算任务,确定对应的子任务列表,包括:根据AI芯片中硬件设备需要执行的计算任务,按照指定策略从执行文件中的不同批尺寸的子任务中选择所需的子任务集合,得到所述子任务列表。
[0008]其中,通过按照指定策略来选择所需的子任务集合,可以根据需求进行灵活选择所需的子任务列表,具备更好的适用性以及灵活性。
[0009]结合第一方面实施例的一种可能的实施方式,所述指定策略包括:从执行文件中的不同批尺寸的子任务中选择使所述硬件设备启动次数最少的子任务集合,或者,从执行文件中的不同批尺寸的子任务中选择包含最大子任务的子任务集合。
[0010]其中,通过选择使硬件设备启动次数最少的子任务集合,可以减少任务执行过程中硬件设备的启动次数,或者,通过选择包含最大子任务的子任务集合,有利于提高任务执行过程中硬件一次启动的使用时间,提高硬件利用率,也有利于提高并行处理能力。
[0011]结合第一方面实施例的一种可能的实施方式,根据待执行的总任务,确定AI芯片中硬件设备需要执行的计算任务,包括:根据待执行的总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务。
[0012]其中,在确定AI芯片中硬件设备需要执行的计算任务时,将AI芯片中硬件设备的数量考虑在内,通过利用多个硬件设备来共同执行该总任务,这样使得每个硬件设备所执行的计算任务的任务量会变少,从而提高运行效率。
[0013]结合第一方面实施例的一种可能的实施方式,根据待执行的总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务,包括:若所述总任务不能被均分给每个所述硬件设备,根据所述AI芯片中硬件设备的数量,向上调整所述总任务的大小,以使调整后的所述总任务能被均分给每个所述硬件设备;根据调整后的所述总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务。
[0014]其中,通过向上调整所述总任务的大小,以使调整后的总任务能被均分给每个硬件设备,这样使得每个硬件设备需要执行的计算任务相同,能够充分利用并均衡硬件设备的硬件计算资源,同时,使得各个硬件设备执行任务所需的时间一致,便于同步控制。
[0015]结合第一方面实施例的一种可能的实施方式,将所述子任务列表中各个子任务包含的指令,分发给所述AI芯片执行,包括:根据所述AI芯片中硬件设备的数量,对所述子任务列表中的各个子任务包含的指令进行复制,根据所述AI芯片中除目标硬件设备的其他硬件设备的设备信息,对复制出的指令中包含的设备信息进行修改,得到修改过设备信息的指令;将修改后的各个子任务包含的指令,分发给所述AI芯片执行,以使所述AI芯片中包含所述目标硬件设备在内的每个硬件设备均执行修改后的各个子任务包含的指令完成对应的子任务。
[0016]其中,通过对子任务列表中的各个子任务包含的指令进行复制,并对其中的设备信息进行修改,使得修改后的指令能够被对应的硬件设备执行,这样使得可以同时利用多个硬件设备来并行执行该计算任务,提高执行效率,同时也可减少与AI芯片的交互次数。
[0017]结合第一方面实施例的一种可能的实施方式,所述子任务列表中各个子任务是根据对原始总任务向上调整后的总任务而确定的;在将所述子任务列表中各个子任务包含的指令,分发给所述AI芯片执行之后,所述方法还包括:控制所述AI芯片将对于所述子任务列表中各个子任务的执行结果,存储到临时缓存;控制所述AI芯片从临时缓存中获取原始总任务大小的执行结果,存储到为所述原始总任务指定的缓存空间。
[0018]其中,若子任务列表中各个子任务是根据向上调整后的总任务而确定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:根据待执行的总任务,确定AI芯片中硬件设备需要执行的计算任务;根据所述AI芯片中硬件设备需要执行的计算任务,确定对应的子任务列表,其中,所述子任务列表包括多个子任务,所述多个子任务是从执行文件中的不同批尺寸的子任务中选择得到的,且任务量之和与所述计算任务的任务量一致;将所述子任务列表中各个子任务包含的指令,分发给所述AI芯片执行,以使所述AI芯片中的硬件设备执行各个子任务的指令完成对应的子任务。2.根据权利要求1所述的方法,其特征在于,根据所述AI芯片中硬件设备需要执行的计算任务,确定对应的子任务列表,包括:根据AI芯片中硬件设备需要执行的计算任务,按照指定策略从执行文件中的不同批尺寸的子任务中选择所需的子任务集合,得到所述子任务列表。3.根据权利要求2所述的方法,其特征在于,所述指定策略包括:从执行文件中的不同批尺寸的子任务中选择使所述硬件设备启动次数最少的子任务集合,或者,从执行文件中的不同批尺寸的子任务中选择包含最大子任务的子任务集合。4.根据权利要求1所述的方法,其特征在于,根据待执行的总任务,确定AI芯片中硬件设备需要执行的计算任务,包括:根据待执行的总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务。5.根据权利要求4所述的方法,其特征在于,根据待执行的总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务,包括:若所述总任务不能被均分给每个所述硬件设备,根据所述AI芯片中硬件设备的数量,向上调整所述总任务的大小,以使调整后的所述总任务能被均分给每个所述硬件设备;根据调整后的所述总任务和所述AI芯片中硬件设备的数量,确定每个所述硬件设备需要执行的计算任务。6.根据权利要求5所述的方法,其特征在于,将所述子任务列表中各个子任务包含的指令,分发给所述AI芯片执行,包括:根据所述AI芯片中硬件设备的数量,对所述子任务列表中的各个子任务包含的指令进行复制;根据所述AI芯片中除目标硬件设备外的其他硬件设备的设备信息,对复制出的指令中包含的设备信息进行修改,得到修改过设备信息的指令;将修改后的各个子任务包含的指令,分发给所述AI芯片执行,以使所...

【专利技术属性】
技术研发人员:杨媛静彭凡刘军王鸥
申请(专利权)人:成都登临科技有限公司
类型:发明
国别省市:

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

1