模型编排方法、装置、设备、产品及存储介质与流程

专利2025-12-28  9


本技术涉及算力,尤其涉及一种模型编排方法、装置、模型编排设备、产品及存储介质。


背景技术:

1、在目前的多核处理器场景下,进行任务分配的时候,多使用每个任务的处理时间和各任务之间的数据依赖关系作为约束条件来进行启发式调度分配,通过尽量降低任务处理时间和任务间通信时间,并提高核间并行度而达到整体完成时间最少的目的。但这些方案用于多核存算一体加速器场景时仍存在以下问题:

2、1、使用每个任务的处理时间和各任务之间的数据依赖关系作为约束条件,未考虑核内存储空间限制;

3、2、通过尽量降低任务处理时间和任务间通信时间,并提高核间并行度而达到整体完成时间最少的目的,未考虑存算一体阵列特点带来的核内并行优化空间;

4、3、多采用排序-分配-优化的调度流程,排序与分配过程独立,分配过程对排序参数的影响只能通过后续优化或整体迭代来引入,增加了实现复杂度。


技术实现思路

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、获取所述模型中各个任务在所述交叉阵列单元上的处理时间和数据依赖关系;

36、基于所述处理时间和所述数据依赖关系确定所述模型中各个任务的初始最早开始时间和初始最晚完成时间;

37、在对所述模型中各个任务分配的过程中,根据当前待分配任务的资源分配情况确定所述当前任务的实际完成时间;

38、基于所述当前任务的实际完成时间更新所述当前待分配任务的最早开始时间和最晚完成时间。

39、上述方案中,所述方法还包括:

40、在更新后的所述最晚完成时间大于所述当前待分配任务的后继任务的最早开始时间的情况下,基于更新后的所述当前待分配任务的最早开始时间和最晚完成时间更新所述分配任务列表中的待分配和未分配任务列表中各任务的最早开始时间和最晚完成时间;

41、基于更新后的所述分配任务列表中的待分配和未分配任务列表中各任务的最早开始时间和最晚完成时间更新所述分配任务列表中的待分配和未分配任务列表中各任务的自由度参数。

42、上述方案中,所述未分配任务位于待分配和未分配任务列表中;所述基于所述每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表,包括:

43、基于所述每个核内剩余空间资源数确定所述空间资源预留门限参数;

44、根据所述未分配任务的空间资源需求和所述空间资源预留门限参数确定所述空间资源预留表。

45、上述方案中,所述根据所述待分配和未分配任务列表中各个任务的空间资源需求和所述空间资源预留门限参数确定所述空间资源预留表,包括:

46、确定所述待分配和未分配任务列表中每一个空间资源需求超过所述空间资源预留门限参数的第二目标任务;

47、统计所述待分配和未分配任务列表中空间资源需求大于或等于所述第二目标任务的空间资源需求的任务数量;

48、基于所述第二目标任务的空资源需求和所述任务数量确定所述空间资源预留表。

49、上述方案中,所述方法还包括:

50、基于所述待分配任务在每个核的每个阵列单元上的实际开始时间确定所述每个阵列单元的实际完成时间;

51、根据所述每个阵列单元的实际完成时间和剩余空间资源数对所述每个核上的所有阵列单元分别进行排序,得到第一排序结果;

52、基于所述第一排序结果确定满足待分配任务的空间资源需求需加入分配阵列列表中的所有阵列单元;

53、获取所述所有阵列单元中实际完成时间最晚的目标阵列单元;

54、将所述目标阵列单元的实际完成时间作为所述待分配任务在所述每个核上的实际完成时间。

55、上述方案中,所述基于所述待分配任务在每个核上的实际完成时间、所述每个核内剩余空间资源数和所述空间资源预留表将所述待分配任务分配并部署到至少一个核上的至少一个阵列单元上,包括:

56、遍历所述多核存算一体加速器的每个核,确定所述待分配任务在所述每个核上的实际完成时间;

57、基于所述每个核上的实际完成时间、所述每个核内剩余空间资源数和所述空间资源预留表对所述多核存算一体加速器中的所有核进行排序,得到第二排序结果;

58、基于所述第二排序结果判断所述多核中排序第一的核内剩余空间资源是否满足所述待分配任务的空间资源需求;

59、在所述多核中排序第一的核内剩余空间资源满足所述待分配任务的空间资源需求的情况下,将所述待分配任务分配并部署到一个核上的至少一个阵列单元上;

60、在所述多核中排序第一的核内剩余空间资源不满足所述待分配任务的空间资源需求的情况下,将所述待分配任务分配并部署到多个核上的多个阵列单元上。

61、本技术实施例还提供了一种模型编排装置,设置在多核存算一体加速器上,包括:

62、获取单元,用于获取每个核中每个交叉阵列单元的时间占用表和空间占用表;所述时间占用表用于记录所述每个交叉阵列单元的已占用时间段;所述空间占用表用于记录所述每个交叉阵列单元的已占用空间资源位置;

63、确定单元,用于基于所述模型中各个任务确定待分配任务;以及根据输入所述待分配任务的所有数据中最晚到达所述待分配任务的输入数据的到达时间、所述待分配任务的空间资源需求、所述待分配任务的后继任务最早开始时间以及所述时间占用表和所述空间占用表,确定将所述待分配任务分配到所述每个核上的实际完成时间;以及基于所述每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表;

64、分配单元,用于基于所述待分配任务在每个核上的实际完成时间、所述每个核内剩余空间资源数和所述空间资源预留表将所述待分配任务分配并部署到至少一个核上的至少一个阵列单元上。

65、本技术实施例还提供了一种模型编排设备,包括:

66、存储器,用于存储可执行指令;

67、处理器,用于执行所述存储器中存储的可执行指令时,实现上述所述方法的任一步骤。

68、本技术实施例还提供一种计算机程序产品,所述计算机程序在被处理器执行时实现上述所述方法的任一步骤。

69、本技术实施例还提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现上述所述方法的任一步骤。

70、本技术实施例提供的模型编排方法、装置、模型编排设备、产品及存储介质,其中,方法应用于多核存算一体加速器,包括:获取每个核中每个交叉阵列单元的时间占用表和空间占用表;所述时间占用表用于记录所述每个交叉阵列单元的已占用时间段;所述空间占用表用于记录所述每个交叉阵列单元的已占用空间资源位置;基于所述模型中各个任务确定待分配任务;根据输入所述待分配任务的所有数据中最晚到达所述待分配任务的输入数据的到达时间、所述待分配任务的空间资源需求、所述待分配任务的后继任务的最早开始时间以及所述时间占用表和所述空间占用表,确定将所述待分配任务分配到所述每个核上的实际完成时间;基于所述每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表;基于所述待分配任务在每个核上的实际完成时间、所述每个核内剩余空间资源数和所述空间资源预留表将所述待分配任务分配并部署到至少一个核上的至少一个阵列单元上,本技术实施例的方案,通过获取每个核中每个交叉阵列单元的时间占用表和空间占用表;基于模型中各个任务确定待分配任务;根据输入待分配任务的所有数据中最晚到达待分配任务的输入数据的到达时间、待分配任务的空间资源需求、待分配任务的后继任务的最早开始时间以及时间占用表和空间占用表,确定将待分配任务分配到每个核上的实际完成时间;基于每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表;基于待分配任务在每个核上的实际完成时间、每个核内剩余空间资源数和空间资源预留表将待分配任务分配并部署到至少一个核上的至少一个阵列单元上,即针对多核存算一体加速器的硬件特点,在进行模型任务分配时考虑时间和空间资源的双重约束,从而在满足阵列存储空间限制的条件下,充分利用存算一体阵列特点带来的核内并行优化空间,使整体完成时间最少,实现更加简便。


技术特征:

1.一种模型编排方法,其特征在于,应用于多核存算一体加速器,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述模型中各个任务确定待分配任务,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述模型中各个任务的数据依赖关系确定分配任务列表,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求3所述的方法,其特征在于,所述确定所述模型中各个任务的自由度参数,包括:

8.根据权利要求7所述的方法,其特征在于,所述确定所述模型中各个任务的最早开始时间和最晚完成时间,包括:

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

10.根据权利要求1所述的方法,其特征在于,所述未分配任务位于待分配和未分配任务列表中;所述基于所述每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表,包括:

11.根据权利要求10所述的方法,其特征在于,所述根据所述待分配和未分配任务列表中各个任务的空间资源需求和所述空间资源预留门限参数确定所述空间资源预留表,包括:

12.根据权利要求1所述的方法,其特征在于,所述方法还包括:

13.根据权利要求1所述的方法,其特征在于,所述基于所述待分配任务在每个核上的实际完成时间、所述每个核内剩余空间资源数和所述空间资源预留表将所述待分配任务分配并部署到至少一个核上的至少一个阵列单元上,包括:

14.一种模型编排装置,其特征在于,包括:

15.一种模型编排设备,其特征在于,包括:

16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现权利要求1至13任一项所述的模型编排方法。

17.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至13任一项所述的模型编排方法。


技术总结
本申请公开了一种模型编排方法、装置、设备、产品及存储介质。方法包括:获取每个核中每个交叉阵列单元的时间占用表和空间占用表;基于模型中各个任务确定待分配任务;根据输入待分配任务的所有数据中最晚到达待分配任务的输入数据的到达时间、待分配任务的空间资源需求、待分配任务的后继任务的最早开始时间以及所述时间占用表和所述空间占用表,确定将待分配任务分配到每个核上的实际完成时间;基于每个核内剩余空间资源数和未分配任务的空间资源需求确定空间资源预留表;基于待分配任务在每个核上的实际完成时间、每个核内剩余空间资源数和空间资源预留表将待分配任务分配并部署到至少一个核上的至少一个阵列单元上。

技术研发人员:姚燕玲,高若飞,潘卫平,祝淑琼,李昊,张童
受保护的技术使用者:中国移动通信有限公司研究院
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-18796.html

最新回复(0)