用于多核处理器的计算任务分配方法、装置、设备和介质与流程

摘要: 本公开的示例涉及计算机领域,并且涉及用于多核处理器的计算任务分配方法、装置、设备和介质。背景技术:1、随着人工智能模型规模和计算复杂度的不断提高,为提升神经网络...
用于多核处理器的计算任务分配方法、装置、设备和介质与流程

本公开的示例涉及计算机领域,并且涉及用于多核处理器的计算任务分配方法、装置、设备和介质。

背景技术:

1、随着人工智能模型规模和计算复杂度的不断提高,为提升神经网络模型的推理效率,加速器等处理器通常采用多核处理架构,通过多个处理核心并行执行卷积、矩阵乘法、逐元素运算等计算任务。典型的加速器可以包括外部存储器、片内缓存以及多个处理核心,其中,各处理核心通常配置有相应的计算单元以及片内存储资源。受硬件架构限制,不同处理核心之间的数据访问能力可能受到约束,因此,在利用多个处理核心执行神经网络计算任务时,需要合理确定各计算任务在不同处理核心之间的切分和分配方式。

技术实现思路

1、在本文的第一方面,提供了一种用于多核处理器的计算任务分配方法。该方法包括:获取计算图以及多核处理器的资源配置信息,计算图包括多个任务单元,每个任务单元包括一个或多个算子并对应待由多核处理器执行的计算任务,资源配置信息用于指示多核处理器中可用于执行计算任务的处理资源及处理资源的计算约束;响应于对计算图启动计算任务分配,清除多个任务单元的历史任务分配信息;基于计算图和资源配置信息,确定多个任务单元各自的初始任务分配信息,任务分配信息用于指示计算任务的划分方式以及用于执行划分后的计算任务的处理资源;按照计算图的数据依赖关系,在多个任务单元之间传播任务分配信息,与已确定任务单元具有数据依赖关系的任务单元的任务分配信息基于已确定任务单元的任务分配信息进行更新,以使存在数据依赖关系的任务单元的任务分配信息相互兼容,并得到多个任务单元各自的目标任务分配信息;以及基于目标任务分配信息,将多个任务单元各自的计算任务分配至多核处理器的多个处理核心。

2、在本文的第二方面,提供了一种用于多核处理器的计算任务分配装置。该装置包括获取模块、清除模块、确定模块、传播模块和分配模块。获取模块被配置为获取计算图以及多核处理器的资源配置信息。清除模块被配置为响应于对计算图启动计算任务分配,清除多个任务单元的历史任务分配信息。确定模块被配置为基于计算图和资源配置信息,确定多个任务单元各自的初始任务分配信息。传播模块被配置为按照计算图的数据依赖关系,在多个任务单元之间传播任务分配信息,以得到多个任务单元各自的目标任务分配信息。分配模块被配置为基于目标任务分配信息,将多个任务单元各自的计算任务分配至多核处理器的多个处理核心。

3、在本文的第三方面,提供了一种电子设备。该电子设备包括至少一个处理器和至少一个存储器。至少一个存储器被耦合到至少一个处理器并且存储用于由至少一个处理器执行的指令。指令在由至少一个处理器执行时使电子设备执行第一方面的方法。

4、在本文的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机可执行指令。计算机可执行指令可由处理器执行以实现第一方面的方法。

5、以此方式,可以针对当前计算图和多核处理器的计算约束得到相互兼容的任务分配信息,并基于该任务分配信息把计算图中的计算任务分配至多个处理核心。

6、应当理解, 技术实现要素: 部分中所描述的内容并非旨在限定本公开中的示例的关键特征或重要特征,也不用于限制方案的范围。其它特征将通过以下的描述而变得容易理解。

1.一种用于多核处理器的计算任务分配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述清除所述多个任务单元的历史任务分配信息,包括:

3.根据权利要求1所述的方法,其特征在于,所述确定所述多个任务单元各自的初始任务分配信息,包括:

4.根据权利要求3所述的方法,其特征在于,所述确定所述任务单元的初始核心数量,包括:

5.根据权利要求1所述的方法,其特征在于,所述在所述多个任务单元之间传播任务分配信息,包括:

6.根据权利要求5所述的方法,其特征在于,所述在所述多个任务单元之间传播任务分配信息,包括:

7.根据权利要求1所述的方法,其特征在于,所述计算图包括具有多个输入分支的目标算子,并且所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述在所述多个任务单元之间传播任务分配信息,还包括:

9.根据权利要求1所述的方法,其特征在于,在所述计算图包括具有分组计算约束的目标算子的情况下,所述方法还包括:

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

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

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

13.一种用于多核处理器的计算任务分配装置,其特征在于,所述装置包括:

14.一种电子设备,其特征在于,包括:

15.一种计算机可读存储介质,其特征在于,其上存储有计算机可执行指令,所述计算机可执行指令可由处理器执行以实现根据权利要求1至12中任一项所述的方法。

16.一种计算机程序产品,其特征在于,所述计算机程序产品被有形地存储在计算机存储介质中并且包括计算机可执行指令,所述计算机可执行指令在由设备执行时使所述设备执行根据权利要求1至12中任一项所述的方法。