芯片、集合通信方法、设备、存储介质及程序产品与流程

摘要: 本申请涉及芯片通信领域,尤其涉及一种芯片、集合通信方法、设备、存储介质及程序产品。背景技术:1、随着芯片集成度的提升,分布式片上架构得到广泛应用,即单个芯片中包...
芯片、集合通信方法、设备、存储介质及程序产品与流程

本申请涉及芯片通信领域,尤其涉及一种芯片、集合通信方法、设备、存储介质及程序产品。

背景技术:

1、随着芯片集成度的提升,分布式片上架构得到广泛应用,即单个芯片中包括多个pe(processing element,处理单元),多个pe通过对应的路由器接入noc(network-on-chip,片上网络),实现此间的互联通信。

2、在实际应用中,分布式片上架构中的pe之间需要频繁进行集合通信,例如归约运算。以芯片包括4个pe且分别标记为a0、a1、b0、b1为例,归约运算的执行过程包括:每个pe从其他3个pe中读取数据,即:a0从a1、b0和b1中读取数据,a1从a0、b0、b1中读取数据,b0从a0、a1、b1中读取数据,b1从a0、a1、b0中读取数据;每个pe基于读取的数据在本地执行归约运算。

3、在上述执行过程中,每个pe需要与多个其他pe进行数据收发,并且每个pe还需在本地执行归约运算,这不仅占用pe的计算资源,降低计算资源利用率,还会导致noc网络中产生大量并发的点对点通信,加剧noc网络的拥塞,导致pe服务的延迟较大。

技术实现思路

1、本申请实施例提供一种芯片、集合通信方法、设备、存储介质及程序产品,用以提高pe的计算资源利用率,降低pe的服务延迟。

2、本申请实施例提供一种芯片,包括:多个处理单元,所述处理单元包括第一集合通信控制组件;多个路由器,所述路由器对应至少一个处理单元且包括第二集合通信控制组件;所述多个路由器之间形成集合通信拓扑关系,所述集合通信拓扑关系用于指示所述多个路由器在指定集合通信过程中的上下游位置,不同上下游位置对应所述指定集合通信中的不同子操作;所述第一集合通信控制组件,用于向所属本地处理单元对应的本地路由器中的第二集合通信控制组件发送集合通信指令和所述处理单元参与集合通信的原始数据;所述第二集合通信控制组件,用于根据所述本地路由器在集合通信拓扑关系中的上下游位置和接收到的集合通信指令,执行所述指定集合通信中对应的子操作,将所述子操作对应的原始数据或结果数据向上游的第二集合通信控制组件传递,直至汇聚终点的第二集合通信控制组件执行完对应子操作,得到所述指定集合通信的执行结果。

3、本申请实施例提供一种集合通信方法,应用于芯片,所述芯片包括多个处理单元和多个路由器,每个所述处理单元包括第一集合通信控制组件,每个所述路由器对应至少一个所述处理单元且包括第二集合通信控制组件,所述多个路由器之间形成集合通信拓扑关系,所述集合通信拓扑关系用于指示多个所述路由器在指定集合通信过程中的上下游位置,不同上下游位置对应所述指定集合通信中的不同子操作;所述方法包括:所述第一集合通信控制组件向本地路由器中的第二集合通信控制组件发送集合通信指令和所述处理单元参与集合通信的原始数据;所述第二集合通信控制组件根据所述本地路由器在所述集合通信拓扑关系中的上下游位置和接收到的所述集合通信指令,执行所述指定集合通信中对应的子操作;所述第二集合通信控制组件将所述子操作对应的原始数据或结果数据向上游的第二集合通信控制组件传递,直至汇聚终点的第二集合通信控制组件执行完对应子操作,得到所述指定集合通信的执行结果。

4、本申请实施例提供一种集合通信方法,应用于第一集合通信控制组件,所述第一集合通信控制组件位于芯片的本地处理单元中,所述方法包括:向本地路由器中的第二集合通信控制组件发送集合通信指令和所述本地处理单元参与集合通信的原始数据,以使所述第二集合通信控制组件根据所述本地路由器在所述集合通信拓扑关系中的上下游位置和接收到的所述集合通信指令,执行所述指定集合通信中对应的子操作,直至得到所述指定集合通信的执行结果;其中,所述集合通信拓扑关系用于指示多个路由器在指定集合通信过程中的上下游位置,不同上下游位置对应所述指定集合通信中的不同子操作。

5、本申请实施例提供一种集合通信方法,应用于第二集合通信控制组件,所述第二集合通信控制组件位于芯片的本地路由器中,所述方法包括:接收本地处理单元中第一集合通信控制组件发送的集合通信指令和所述处理单元参与集合通信的原始数据;根据所述本地路由器在所述集合通信拓扑关系中的上下游位置和接收到的所述集合通信指令,执行所述指定集合通信中对应的子操作,将所述子操作对应的原始数据或结果数据向上游的第二集合通信控制组件传递,直至汇聚终点的第二集合通信控制组件执行完对应子操作,得到所述指定集合通信的执行结果;其中,所述集合通信拓扑关系用于指示多个路由器在指定集合通信过程中的上下游位置,不同上下游位置对应所述指定集合通信中的不同子操作。

6、本申请实施例还提供一种计算设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述存储器中的计算机程序,以用于实现所述集合通信方法中的步骤。

7、本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现所述集合通信方法中的步骤。

8、本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现所述集合通信方法中的步骤。

9、在本申请实施例中,可以将原本在处理单元中执行的集合通信任务,卸载至路由器中,以释放处理单元中的计算资源。具体而言,可以在处理单元中内置第一集合通信控制组件,在路由器中内置第二集合通信控制组件。多个路由器之间可以形成集合通信拓扑关系。集合通信拓扑关系可以指示各路由器节点在指定集合通信过程中的上下游位置,第二集合通信控制组件可以基于路由器的上下游位置执行对应的子操作,并将子操作对应的原始数据或结果数据向上游传递,直至汇聚终点的第二集合通信控制组件完成对应子操作,得到所述指定集合通信的执行结果。通过上述方式,集合通信过程中涉及的子操作(如数据运算等)由路由器中的第二集合通信组件完成,处理单元无需参与相应子操作,实现了计算与通信任务的物理分离,释放了处理单元的计算资源,提高了pe的计算资源利用率;且通过路由器间的硬件级流水线协同与集合通信拓扑关系,减少了通信轮次,降低了noc网络拥塞,进而降低了pe提供服务的延迟。

1.一种芯片,其特征在于,包括:

2.根据权利要求1所述的芯片,其特征在于,所述第二集合通信控制组件具体用于:

3.根据权利要求1所述的芯片,其特征在于,所述第二集合通信控制组件包括:通信拓扑子组件、运算子组件、缓存存储器、报文生成子组件以及路由子组件,其中,

4.根据权利要求3所述的芯片,其特征在于,所述第二集合通信控制组件中还包括:

5.根据权利要求4所述的芯片,其特征在于,所述报文处理子组件在报文中提取数据时,具体用于:

6.根据权利要求4所述的芯片,其特征在于,所述本地路由器中包括报文解析组件;

7.根据权利要求1-2或4-6任一项所述的芯片,其特征在于,所述第一集合通信控制组件包括请求寄存器、命令寄存器以及数据传输子组件,其中,

8.根据权利要求1-2或4-6任一项所述的芯片,其特征在于,所述第二集合通信控制组件还用于:

9.根据权利要求1-2或4-6任一项所述的芯片,其特征在于,

10.一种集合通信方法,其特征在于,应用于芯片,所述芯片包括多个处理单元和多个路由器,所述处理单元包括第一集合通信控制组件,所述路由器对应至少一个所述处理单元且包括第二集合通信控制组件,所述多个路由器之间形成集合通信拓扑关系,所述集合通信拓扑关系用于指示多个所述路由器在指定集合通信过程中的上下游位置,不同上下游位置对应所述指定集合通信中的不同子操作;所述方法包括:

11.一种集合通信方法,其特征在于,应用于第一集合通信控制组件,所述第一集合通信控制组件位于芯片的本地处理单元中,所述方法包括:

12.根据权利要求11所述的方法,其特征在于,向本地路由器中的第二集合通信控制组件发送集合通信指令和所述本地处理单元参与集合通信的原始数据,包括:

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

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

15.一种集合通信方法,其特征在于,应用于第二集合通信控制组件,所述第二集合通信控制组件位于芯片的本地路由器中,所述方法包括:

16.根据权利要求15所述的方法,其特征在于,根据所述本地路由器在所述集合通信拓扑关系中的上下游位置和接收到的所述集合通信指令,执行所述指定集合通信中对应的子操作,将所述子操作对应的原始数据或结果数据向上游的第二集合通信控制组件传递,直至汇聚终点的第二集合通信控制组件执行完对应子操作,得到所述指定集合通信的执行结果,包括:

17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:

18.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:

19.一种计算设备,其特征在于,包括存储器以及如权利要求1-9任一项所述的芯片;

20.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求10-18中任一项所述方法中的步骤。

21.一种计算机程序产品,其特征在于,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求10-18中任一项所述方法中的步骤。