计算资源的调度方法、装置、设备及存储介质与流程

文档序号:34609859发布日期:2023-06-29 06:12阅读:45来源:国知局
计算资源的调度方法、装置、设备及存储介质与流程

本发明涉及一种计算资源的调度方法,尤其涉及一种计算资源的调度方法、装置、电子设备及计算机存储介质。


背景技术:

1、目前深度学习网络部署运行到实际设备上时,会先对网络中的算子进行编译优化,即对算子进行自动调优,以使得深度学习网络的性能更优。目前自动调优的方法通常是利用机器学习算法作为代价模型,来建立调度参数和算子性能之间的关系,从而通过预测找出较优参数解。这种调度方式虽然可以得到调度参数的全局最优解,但由于缺乏一定的加速策略使得整个调优过程耗时较大,效率较低,并且由于机器学习算法本身需要进行多次训练才能具备一定的准确性,而算法训练也是一个较为耗时的过程。


技术实现思路

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、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1