异构多小芯片处理器中的任务指派的制作方法

摘要: 背景技术:1、并行处理器(诸如加速器处理器和图形处理单元(gpu))通常实现图形处理流水线,该图形处理流水线并发地处理从命令缓冲器检索的命令的副本。gpu和其他...
异构多小芯片处理器中的任务指派的制作方法

背景技术:

1、并行处理器(诸如加速器处理器和图形处理单元(gpu))通常实现图形处理流水线,该图形处理流水线并发地处理从命令缓冲器检索的命令的副本。gpu和其他多线程处理单元通常实现多个处理元件(其可包括处理器核心、计算单元、小芯片或工作组处理器),该多个处理元件执行不同的程序或者作为单个“波”在多个数据集上并发地执行单个程序的多个实例,即,在gpu上并发运行的一组线程。分级执行模型通常用于匹配在硬件中实现的层级结构。

2、执行模型限定由一个或多个波(也称为波前、其可包括一个或多个线程、流、任务或工作项目)执行的指令的核心。常规gpu中的图形流水线包括一个或多个着色器引擎,该一个或多个着色器引擎使用图形流水线的资源(诸如,计算单元、存储器和高速缓冲)来执行通常称为“着色器”的计算机程序。顾名思义,gpu传统上用于图形计算;然而,在现代计算中,着色器通常被用作“计算着色器”,其作为能够独立于图形处理流水线执行工作的通用软件发挥作用。随着gpu的使用和机器学习应用已随时间的推移而扩展,有必要改进gpu的功能性和性能。

技术实现思路

1、一种装置包括多小芯片处理器。在一个具体实施中,多芯片处理器包括:多个并行处理小芯片(ppc),该多个并行处理小芯片(ppc)用于处理任务;中央处理小芯片(cpc),其中多小芯片处理器用于以第一指派顺序将与任务相关联的数据指派给与多个ppc和cpc相关联的存储器;和调度器,该调度器用于以不同于第一指派顺序的第二指派顺序将任务指派给多个ppc,使得与指派给cpc的数据相关联的任务被指派给多个ppc中的至少一个ppc。第一指派顺序可以将数据顺序地指派给与多个ppc和cpc相关联的存储器。第二指派顺序可以将任务的第一集合顺序地指派给多个ppc,同时跳过在cpc被包括在第二指派顺序中的情况下将被指派给cpc的任务。在一些具体实施中,在cpc被包括在第二指派顺序中的情况下将被指派给cpc的任务在顺序地指派任务的第一集合之后被顺序地指派给多个ppc。

2、第二指派顺序可以将任务指派给多个ppc,以优化指派给与多个ppc相关联的存储器的与任务相关联的数据和指派给多个ppc的任务之间的对应关系。调度器可以将任务重新指派给多个ppc中的不同ppc,以平衡指派给多个ppc中的每个ppc的任务的数量。在一些具体实施中,调度器用于在任务中的不同任务被取消时将任务重新指派给多个ppc中的不同ppc。

3、在另一具体实施中,一种装置包括多小芯片处理器,该多小芯片处理器包括调度器、用于处理任务的多个并行处理小芯片(ppc)和中央处理小芯片(cpc),其中调度器将任务指派给多个ppc,使得与指派给cpc的数据相关联的任务被指派给多个ppc中的至少一个ppc。在一些具体实施中,处理器将数据顺序地指派给与多个ppc和cpc相关联的存储器。在一些具体实施中,调度器将任务的第一集合顺序地指派给多个ppc,同时跳过在cpc被包括在顺序指派中的情况下将被指派给cpc的任务。

4、在一些具体实施中,在cpc被包括在顺序指派中的情况下将被指派给cpc的任务在顺序地指派任务的第一集合之后被顺序地指派给多个ppc。调度器可以将任务指派给多个ppc,以优化指派给与多个ppc相关联的存储器的与任务相关联的数据和指派给多个ppc的任务之间的对应关系。

5、在一些具体实施中,调度器将任务重新指派给多个ppc中的不同ppc,以便平衡指派给多个ppc中的每个ppc的任务的数量。调度器可以在任务中的不同任务被取消时将任务重新指派给多个ppc中的不同ppc。

6、在另一具体实施中,一种在包括多个并行处理小芯片(ppc)和中央处理小芯片(cpc)的多小芯片处理器中指派任务的方法包括:以第一指派顺序将与任务相关联的数据指派给与多个ppc和cpc相关联的存储器;以及以不同于第一指派顺序的第二指派顺序将任务指派给多个ppc,使得与指派给cpc的数据相关联的任务被指派给多个ppc中的至少一个ppc。

7、第一指派顺序可以将数据顺序地指派给与多个ppc和cpc相关联的存储器。第二指派顺序可以将任务的第一集合顺序地指派给多个ppc,同时跳过在cpc被包括在第二指派顺序中的情况下将被指派给cpc的任务。

8、在一些具体实施中,在cpc被包括在第二指派顺序中的情况下将被指派给cpc的任务在顺序地指派任务的第一集合之后被顺序地指派给多个ppc。第二指派顺序可以将任务指派给多个ppc,以优化指派给与多个ppc相关联的存储器的与任务相关联的数据和指派给多个ppc的任务之间的对应关系。该方法还可包括将任务重新指派给多个ppc中的不同ppc,以便平衡指派给多个ppc中的每个ppc的任务的数量。

1.一种装置,所述装置包括:

2.根据权利要求1所述的装置,其中所述第一指派顺序将所述数据顺序地指派给与所述多个ppc和所述cpc相关联的所述存储器。

3.根据权利要求1或权利要求2所述的装置,其中所述第二指派顺序将所述任务的第一集合顺序地指派给所述多个ppc,同时跳过在所述cpc被包括在所述第二指派顺序中的情况下将被指派给所述cpc的任务。

4.根据权利要求3所述的装置,其中在所述cpc被包括在所述第二指派顺序中的情况下将被指派给所述cpc的所述任务在顺序地指派所述任务的所述第一集合之后被顺序地指派给所述多个ppc。

5.根据权利要求1至4中任一项所述的装置,其中所述第二指派顺序将任务指派给所述多个ppc,以优化指派给与所述多个ppc相关联的所述存储器的与所述任务相关联的所述数据和指派给所述多个ppc的所述任务之间的对应关系。

6.根据权利要求1至5中任一项所述的装置,其中所述调度器用于将任务重新指派给所述多个ppc中的不同ppc,以平衡指派给所述多个ppc中的每个ppc的任务的数量。

7.根据权利要求6所述的装置,其中所述调度器用于在所述任务中的不同任务被取消时将所述任务重新指派给所述多个ppc中的不同ppc。

8.一种装置,所述装置包括:

9.根据权利要求8所述的装置,其中所述处理器将数据顺序地指派给与所述多个ppc和所述cpc相关联的存储器。

10.根据权利要求8或权利要求9所述的装置,其中所述调度器将所述任务的第一集合顺序地指派给所述多个ppc,同时跳过在所述cpc被包括在所述顺序指派中的情况下将被指派给所述cpc的任务。

11.根据权利要求10所述的装置,其中在所述cpc被包括在所述顺序指派中的情况下将被指派给所述cpc的所述任务在顺序地指派所述任务的所述第一集合之后被顺序地指派给所述多个ppc。

12.根据权利要求8至11中任一项所述的装置,其中所述调度器将任务指派给所述多个ppc,以优化指派给与所述多个ppc相关联的存储器的与所述任务相关联的数据和指派给所述多个ppc的所述任务之间的对应关系。

13.根据权利要求8至12中任一项所述的装置,其中所述调度器将任务重新指派给所述多个ppc中的不同ppc,以便平衡指派给所述多个ppc中的每个ppc的任务的数量。

14.根据权利要求13所述的装置,其中所述调度器在所述任务中的不同任务被取消时将所述任务重新指派给所述多个ppc中的不同ppc。

15.一种在包括多个并行处理小芯片(ppc)和中央处理小芯片(cpc)的多小芯片处理器中指派任务的方法,所述方法包括:

16.根据权利要求15所述的方法,其中所述第一指派顺序将所述数据顺序地指派给与所述多个ppc和所述cpc相关联的所述存储器。

17.根据权利要求15或权利要求16所述的方法,其中所述第二指派顺序将所述任务的第一集合顺序地指派给所述多个ppc,同时跳过在所述cpc被包括在所述第二指派顺序中的情况下将被指派给所述cpc的任务。

18.根据权利要求17所述的方法,其中在所述cpc被包括在所述第二指派顺序中的情况下将被指派给所述cpc的所述任务在顺序地指派所述任务的所述第一集合之后被顺序地指派给所述多个ppc。

19.根据权利要求15至18中任一项所述的方法,其中所述第二指派顺序将任务指派给所述多个ppc,以优化指派给与所述多个ppc相关联的所述存储器的与所述任务相关联的所述数据和指派给所述多个ppc的所述任务之间的对应关系。

20.根据权利要求15至19中任一项所述的方法,所述方法还包括将任务重新指派给所述多个ppc中的不同ppc,以便平衡指派给所述多个ppc中的每个ppc的任务的数量。