算子调度方法、装置、电子设备和可读存储介质制造方法及图纸

技术编号:38752434 阅读:14 留言:0更新日期:2023-09-09 11:19
本申请实施例提供了一种算子调度方法、装置、电子设备和可读存储介质,涉及计算机技术领域。在本申请实施例中,可以根据调度序列中的调度算子与待调度算子之间的依赖关系确定就绪序列中的就绪子序列,然后根据各就绪子序列对应的存储资源大小从就绪序列中确定调度子序列,进而实现更新调度序列和就绪序列,并根据更新后的调度序列确定网络模型中的各算子的目标调度顺序,从而实现有效减小网络模型在执行过程中的存储资源占用开销,进而减轻电子设备的运行压力。子设备的运行压力。子设备的运行压力。

【技术实现步骤摘要】
算子调度方法、装置、电子设备和可读存储介质


[0001]本申请涉及计算机
,特别是涉及一种算子调度方法、装置、电子设备和可读存储介质。

技术介绍

[0002]随着计算机技术的发展,网络模型被应用至各种场景之中,例如图像识别、语义分析等场景。
[0003]其中,网络模型中包括若干算子,每个算子中可以设置有相同或不同的算法,通过各个算子的组合,可以使得网络模型具有不同的功能。
[0004]在相关技术中,网络模型会被部署至电子设备中运行,因此,网络模型在运行过程中会占用电子设备的存储资源。当网络模型占用的存储资源过大时,可能会由于电子设备存储资源的不足而导致网络模型数据处理效率低或处理失败的情况。因此,如何减小网络模型在执行过程中的存储资源占用开销是目前亟需解决的问题。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种算子调度方法、装置、电子设备和可读存储介质,,以减小网络模型在执行过程中的存储资源占用开销。
[0006]第一方面,提供了一种算子调度方法,所述方法包括:
[0007]获取算子序列图,所述算子序列图用于表征网络模型中各算子之间的依赖关系;
[0008]根据就绪序列中各就绪子序列对应的存储资源大小,从所述就绪序列中确定调度子序列,更新调度序列和就绪序列,所述就绪序列中包括就绪子序列,所述就绪子序列中包括至少一个算子,所述就绪子序列根据所述调度序列中的调度子序列与待调度序列之间的依赖关系、以及各待调度序列之间的依赖关系确定;
[0009]响应于更新后的就绪序列为空,根据更新后的调度序列确定所述网络模型中的各算子的目标调度顺序。
[0010]第二方面,提供了一种算子调度装置,所述装置包括:
[0011]获取模块,用于获取算子序列图,所述算子序列图用于表征网络模型中各算子之间的依赖关系;
[0012]更新模块,用于根据就绪序列中各就绪子序列对应的存储资源大小,从所述就绪序列中确定调度子序列,更新调度序列和就绪序列,所述就绪序列中包括就绪子序列,所述就绪子序列中包括至少一个算子,所述就绪子序列根据所述调度序列中的调度子序列与待调度序列之间的依赖关系、以及各待调度序列之间的依赖关系确定;
[0013]目标调度顺序确定模块,用于响应于更新后的就绪序列为空,根据更新后的调度序列确定所述网络模型中的各算子的目标调度顺序。
[0014]第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理
器执行以实现如第一方面所述的方法。
[0015]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。
[0016]在本申请实施例中,可以根据调度序列中的调度算子与待调度算子之间的依赖关系确定就绪序列中的就绪子序列,然后根据各就绪子序列对应的存储资源大小从就绪序列中确定调度子序列,进而实现更新调度序列和就绪序列,并根据更新后的调度序列确定网络模型中的各算子的目标调度顺序。其中,由于网络模型中各算子对应的存储资源大小决定了电子设备在运行网络模型时所使用的存储资源,因此,通过本申请实施例可以确定电子设备每次调用网络模型的算子时,占用存储资源较小的子序列,进而确定优选的算子调度序列。因此,通过本申请实施例,可以有效减小网络模型在执行过程中的存储资源占用开销,进而减轻电子设备的运行压力。
附图说明
[0017]通过以下参照附图对本申请实施例的描述,本申请实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:
[0018]图1为本申请实施例算子调度方法的流程图;
[0019]图2为本申请实施例一种算子序列图的示意图;
[0020]图3为本申请实施例另一种算子序列图的示意图;
[0021]图4为本申请实施例另一种算子调度方法的流程图;
[0022]图5为本申请实施例算子调度装置的结构示意图;
[0023]图6为本申请实施例电子设备的结构示意图。
具体实施方式
[0024]以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
[0025]此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
[0026]除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
[0027]在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0028]相关技术在确定网络模型的算子调度顺序时,一般会按照初始的调度顺序进行设置,或者按照深度优先的方式设置算子的调度顺序。其中,无论是直接按照初始的调度顺序进行设置,还是按照深度优先的方式进行设置,网络模型数据处理过程中所占用的存储资源依旧较大。因此,在相关技术中,当网络模型占用的存储资源过大时,可能会由于电子设备存储资源的不足而导致网络模型数据处理效率低或处理失败的情况。因此,如何减小网
络模型在执行过程中的存储资源占用开销是目前亟需解决的问题。
[0029]为了解决上述问题,本申请实施例提供一种算子调度方法,通过调整网络模型中各算子序列的调度顺序来实现减小网络模型占用的存储资源。其中该方法可以应用于电子设备,电子设备可以是终端或者服务器,终端可以是智能手机、平板电脑或者个人计算机(Personal Computer,PC)等,服务器可以是单个服务器,也可以是以分布式方式配置的服务器集群,还可以是云服务器。
[0030]具体的,如图1所示,本申请实施例的算子调度方法可以包括如下步骤:
[0031]在步骤11,获取算子序列图。
[0032]其中,算子序列图用于表征网络模型中各算子之间的依赖关系,该依赖关系一般用于表征算子之间的调度关系。在本申请实施例中,算子序列图可以是有向无环图,其中,有向无环图指的是一个无回路的有向图,该无回路的有向图中的节点可以用于表征网络模型中的算子,本申请实施例以算子序列图为有向无环图为例进行举例说明,在实际应用中,算子序列图也可以是其它类型的序列图。
[0033]例如,如图2所示,图2为本申请实施例中一种算子序列图的示意图,其中,该示意图包括多个用于表征算子的有向图节点(算子21至算子216)。
[0034]在算子序列图中,可以基于算子之间的依赖关系来确定各算子的前驱算子和/或后继算子。其中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种算子调度方法,其特征在于,所述方法包括:获取算子序列图,所述算子序列图用于表征网络模型中各算子之间的依赖关系;根据就绪序列中各就绪子序列对应的存储资源大小,从所述就绪序列中确定调度子序列,更新调度序列和就绪序列,所述就绪序列中包括就绪子序列,所述就绪子序列中包括至少一个算子,所述就绪子序列根据所述调度序列中的调度子序列与待调度序列之间的依赖关系、以及各待调度序列之间的依赖关系确定;响应于更新后的就绪序列为空,根据更新后的调度序列确定所述网络模型中的各算子的目标调度顺序。2.根据权利要求1所述的方法,其特征在于,所述就绪子序列中包括多个就绪算子,所述就绪子序列中的各就绪算子均具有唯一前驱算子和唯一后继算子。3.根据权利要求2所述的方法,其特征在于,更新就绪序列包括:将确定的调度子序列从所述就绪序列中删除;根据更新后的调度序列确定新的就绪子序列;将所述新的就绪子序列加入所述就绪序列,以更新所述就绪序列。4.根据权利要求3所述的方法,其特征在于,根据更新后的调度序列确定新的就绪子序列包括:将前驱算子均为调度算子的待调度序列确定为就绪子序列,所述待调度序列包括至少一个待调度算子。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述就绪子序列对应的存储资源大小基于如下步骤确定:确定所述就绪子序列的存储开销;确定所述就绪子序列的活跃算子集合,所述活跃算子集合包括至少一个活跃算子,所述活跃算子用于表征未被调度的后继算子数量大于1的调度算子,或者,未被调度的后继算子数量等于1且后继算子不是所述就绪子序列中起始算子的调度算子;对所述就绪子序列的存储开销和所述就绪子序列的活跃算子集合的存储开销进行求和,确...

【专利技术属性】
技术研发人员:何忠政刘雷淡孝强
申请(专利权)人:北京希姆计算科技有限公司
类型:发明
国别省市:

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

1