【技术实现步骤摘要】
调度算子的方法和装置
[0001]本申请是申请日为2021年11月09日,申请号为202111323084.9的中国专利申请的分案申请。
[0002]本公开涉及计算机
,尤其涉及任务调度领域,具体涉及一种调度算子的方法和装置。
技术介绍
[0003]在各种计算机应用场景中,例如在深度学习框架中,执行器是一个核心组件,用于调度和执行深度学习模型中包含的各个算子。一个良好设计的执行器,可以支持多种硬件设备,覆盖广泛的深度学习模型使用场景,高效地完成算子的调度和执行。
[0004]随着硬件芯片的蓬勃发展,以及前沿深度学习模型的不断加深,使深度学习框架的执行器对硬件的横向扩展性、算子执行效率等方面需求更高。但不同硬件设备的架构设计、执行机制(例如,流(stream)的设计)上存在一定的差异性。此外,不同领域的深度学习模型结构也不同,如自然语言处理(NLP)领域的模型更“宽”,而视觉领域(CV)的模型更“深”,因此对执行器的调度策略要求也不尽相同。
技术实现思路
[0005]本公开提供了一种用于调度算子的方法、装置、电子设备以及存储介质。
[0006]根据本公开的第一方面,提供了一种调度算子的方法,包括:确定与正在执行的目标任务中包括的两个或更多个算子相关的算子信息;以及根据所述算子信息对所述两个或更多个算子进行调度,其中,所述算子信息指示所述两个或更多个算子中包括的算子是异步算子还是同步算子。
[0007]根据本公开的第二方面,提供了一种算子调度装置,包括:确定单元,被配 ...
【技术保护点】
【技术特征摘要】
1.一种调度算子的方法,包括:确定与正在执行的目标任务中包括的两个或更多个算子相关的算子信息;以及根据所述算子信息对所述两个或更多个算子进行调度,包括:根据所述算子信息,为所述两个或更多个算子指派线程;其中,所述算子信息指示所述两个或更多个算子中包括的算子是异步算子还是同步算子;所述为所述两个或更多个算子指派线程包括:在所述算子信息指示由所述两个或更多个算子构成的算子序列中的当前算子是同步算子的情况下,确定当前算子的后续算子是异步算子还是同步算子;在确定当前算子的后续算子是同步算子的情况下,则:确定所述算子序列中当前算子的后续算子的数目;在当前算子的后续算子的数目等于1的情况下,将当前算子的后续算子保留在当前线程中;以及在当前算子的后续算子的数目大于1的情况下,将当前算子的后续算子之一保留在当前线程中,并将该后续算子中的其他算子指派到与所述当前线程不同的至少一个第四线程中;以及在确定当前算子的后续算子是异步算子的情况下,将当前算子的后续算子指派到与所述当前线程和所述第四线程不同的第五线程中。2.根据权利要求1所述的方法,其中,根据所述算子信息对所述两个或更多个算子进行调度包括:根据所述算子信息,为与所述两个或更多个算子相对应的两个或更多个内核分配流。3.根据权利要求2所述的方法,其中,根据所述算子信息为与所述两个或更多个算子相对应的两个或更多个内核分配流包括:将所述两个或更多个内核中的第一内核分配到第一流中;以及将所述两个或更多个内核中的第二内核分配到第二流中,其中所述第一内核与所述两个或更多个算子中的异步算子相对应,所述第二内核与所述两个或更多个算子中的同步算子相对应。4.根据权利要求1所示的方法,其中,为所述两个或更多个算子指派线程包括:在所述算子信息指示由所述两个或更多个算子构成的算子序列中的至少一个第一算子是异步算子的情况下,将所述至少一个第一算子指派到第一线程中;在所述算子信息指示由所述两个或更多个算子构成的算子序列中的至少一个第二算子是同步算子的情况下,将所述至少一个第二算子指派到第二线程中。5.根据权利要求1所述的方法,其中,为所述两个或更多个算子指派线程包括:在所述算子信息指示由所述两个或更多个算子构成的算子序列中的当前算子是异步算子的情况下,确定当前算子的后续算子是异步算子还是同步算子;在所述算子信息指示当前算子的后续算子是异步算子的情况下,将当前算子的后续算子保留在当前线程中;以及在所述算子信息指示当前算子的后续算子是同步算子的情况下,将当前算子的后续算子指派到与所述...
【专利技术属性】
技术研发人员:张留杰,刘红雨,蓝翔,王欢,刘铁星,陈秋良,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。