数据处理装置、数据处理方法以及电子装置制造方法及图纸

技术编号:38098562 阅读:15 留言:0更新日期:2023-07-06 09:15
一种数据处理装置、数据处理方法以及电子装置。该数据处理装置包括多个计算单元、仲裁单元、第一菊花链、第二菊花链和第三菊花链。各个计算单元的命令队列通过第一菊花链级联且与仲裁单元连接,并且通过第二菊花链级联且与仲裁单元连接;第一菊花链用于将多个计算单元每个发出的数据迁移请求发送到仲裁单元;仲裁单元接收数据迁移请求并进行仲裁以选出用于处理的数据迁移请求,以生成仲裁结果;第二菊花链用于将仲裁结果返回给发出所选出的数据迁移请求的计算单元的命令队列;多个计算单元中的向量存储器通过第三菊花链级联,且第三菊花链用于在多个计算单元中的向量存储器之间传输数据。该数据处理装置可以节省带宽消耗,提高并行处理器的性能。提高并行处理器的性能。提高并行处理器的性能。

【技术实现步骤摘要】
数据处理装置、数据处理方法以及电子装置


[0001]本公开的实施例涉及一种数据处理装置、数据处理方法以及电子装置。

技术介绍

[0002]随着人工智能技术的发展,对于并行处理器的带宽和计算能力提出了更高的要求。但是由于现有工艺和材料的限制,带宽和计算能力存在明显的物理极限。对于矩阵运算等数据重复率高的工作,如果能提高数据的复用量,则能够有效降低带宽的使用,使得计算效率得到有效提升。
[0003]通常的并行处理器包括多个计算单元,每个计算单元包括多个处理元件,每个处理元件用于完成数据的计算,处理元件之间通过向量存储器进行数据交互。但是一个计算单元与另一个计算单元之间没有用于直接的数据交互的通路,因此,如果存在交互需求,则需要一个计算单元先将数据存储进入缓存中,另一个计算单元再从缓存中读取。缓存作为交互的主要媒介,承担了大量的数据传输任务,因此如果能够不经过缓存完成计算单元之间的数据交互,尤其是各个计算单元中的向量存储器之间的数据交互,就能在不增加向量存储器大小的情况下,提高数据复用的程度,提高并行处理器的计算性能。

技术实现思路

[0004]本公开至少一个实施例提供一种数据处理装置,包括多个计算单元、仲裁单元、第一菊花链、第二菊花链和第三菊花链;多个计算单元每个包括命令队列和向量存储器,多个计算单元中各个计算单元的命令队列通过第一菊花链级联且与仲裁单元连接,并且通过第二菊花链级联且与仲裁单元连接,第一菊花链用于将多个计算单元每个发出的数据迁移请求发送到仲裁单元,仲裁单元接收多个计算单元每个发出的数据迁移请求,并对一个或多个待处理的数据迁移请求进行仲裁以选出用于进行处理的数据迁移请求,以生成仲裁结果,第二菊花链用于将仲裁单元生成的仲裁结果返回给发出所选出的数据迁移请求的计算单元的命令队列,多个计算单元中的向量存储器通过第三菊花链级联,且第三菊花链用于在多个计算单元中的向量存储器之间传输数据。
[0005]例如,在本公开至少一个实施例提供的数据处理装置中,多个计算单元每个发出的数据迁移请求包括来源标识、对应的工作组标识、数据量的大小、目的地标识和数据偏置信息。
[0006]例如,在本公开至少一个实施例提供的数据处理装置中,仲裁结果包括来源标识、目的地标识、数据量的大小和对应的工作组标识。
[0007]例如,本公开至少一个实施例提供的数据处理装置还包括中继器,多个计算单元中的向量存储器通过第三菊花链与中继器连接成环,第三菊花链为单向菊花链。
[0008]例如,在本公开至少一个实施例提供的数据处理装置中,仲裁单元包括:缓冲队列,配置为通过第一菊花链接收并缓存多个计算单元每个发出的数据迁移请求,并通过第二菊花链输出仲裁结果;第一子模块,配置为将多个计算单元每个发出的数据迁移请求转
化为菊花链环的形式;第二子模块,配置为对菊花链环当前及后期的变化进行预测得到第一预测矩阵;多个链环处理模块,多个链环处理模块分别对应于第三菊花链中可进行操作的菊花链环,多个链环处理模块每个配置为以对应的菊花链环的形式存储对应的数据迁移操作的当前状态,对对应的菊花链环当前及后期的变化进行预测得到对应的第二预测矩阵;以及第三子模块,配置为接收第一预测矩阵、多个链环处理模块每个对应的菊花链环存储的当前状态以及对应的第二预测矩阵,根据多个链环处理模块每个对应的菊花链环存储的当前状态判断多个链环处理模块的占用情况,以及根据第一预测矩阵和多个链环处理模块每个对应的第二预测矩阵判断多个链环处理模块是否可接收第一子模块提供的菊花链环,以及输出仲裁结果。
[0009]例如,在本公开至少一个实施例提供的数据处理装置中,菊花链环包括p个寄存器,p=第三菊花链中的节点数目,p为正整数,每个寄存器对应于第三菊花链中的一个节点,且用于表示对应的节点的工作状态。
[0010]例如,在本公开至少一个实施例提供的数据处理装置中,第一预测矩阵和对应的第二预测矩阵的尺寸均为s
×
p,s表示预测的周期数,第一预测矩阵和对应的第二预测矩阵的s行分别用于表示从当前开始的s个周期内p个节点中的数据传输情况。
[0011]例如,在本公开至少一个实施例提供的数据处理装置中,第一子模块还配置为基于多个计算单元每个发出的数据迁移请求中的来源标识、目的地标识和数据量的大小将多个计算单元每个发出的数据迁移请求转化为菊花链环的形式。
[0012]例如,在本公开至少一个实施例提供的数据处理装置中,来源标识=m,目的地标识=n,数据量的大小=k,菊花链环中的每个节点被依序分配彼此不同的节点序号CU_ID,在m<n的情况下,对于m≤CU_ID≤n,对应于节点CU_ID的寄存器被赋予初始值k+CU_ID;在m>n的情况下,对于m≤CU_ID<p,对应于节点CU_ID的寄存器被赋予初始值k+CU_ID,对于CU_ID≤n,对应于节点CU_ID的寄存器被赋予初始值k+CU_ID+p。
[0013]例如,在本公开至少一个实施例提供的数据处理装置中,菊花链环中的各个寄存器中的值v用于判断对应的节点中是否存在数据,在0<v≤k的情况下,对应的节点中存在数据,在v>k的情况下,对应的节点中不存在数据。
[0014]例如,在本公开至少一个实施例提供的数据处理装置中,多个链环处理模块每个包括:存储子模块,配置为以对应的菊花链环的形式存储对应的数据迁移操作的状态,预测子模块,配置为对对应的菊花链环当前及后期的变化进行预测得到对应的第二预测矩阵。
[0015]例如,在本公开至少一个实施例提供的数据处理装置中,多个链环处理模块的数目小于或等于第三菊花链中能同时进行的数据迁移操作的最大数目。
[0016]例如,在本公开至少一个实施例提供的数据处理装置中,第三子模块还配置为根据多个链环处理模块每个的占用情况,确定多个链环处理模块中处于空闲状态的链环处理模块。
[0017]例如,在本公开至少一个实施例提供的数据处理装置中,第三子模块还配置为将第一预测矩阵和多个链环处理模块分别对应的多个第二预测矩阵分别进行匹配,基于匹配结果表示第一预测矩阵与多个第二预测矩阵都不冲突,且在确定多个链环处理模块中有处于空闲状态的链环处理模块的情形,确定能接收第一子模块转化的菊花链环的处于空闲状态的链环处理模块,并向被确定的处于空闲状态的链环处理模块发送使能信号,多个链环
处理模块还配置为基于来自第三子模块的使能信号,使被确定的处于空闲状态的链环处理模块接收并存储来自第一子模块的菊花链环。
[0018]本公开至少一个实施例提供一种应用于本公开至少一个实施例提供的数据处理装置的数据处理方法,多个计算单元包括第一计算单元和第二计算单元,该数据处理方法包括:第一计算单元中的命令队列通过第一菊花链向仲裁单元发送第一数据迁移请求,并向第一计算单元中的向量存储器发送第一命令以通知第一计算单元中的向量存储器准备好接收来自第二计算单元的第一数据;仲裁单元响应于接收到第一数据迁移请求,并对一个或多个待处理的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,包括多个计算单元、仲裁单元、第一菊花链、第二菊花链和第三菊花链,其中,所述多个计算单元每个包括命令队列和向量存储器,所述多个计算单元中各个计算单元的命令队列通过所述第一菊花链级联且与所述仲裁单元连接,并且通过所述第二菊花链级联且与所述仲裁单元连接,所述第一菊花链用于将所述多个计算单元每个发出的数据迁移请求发送到所述仲裁单元,所述仲裁单元接收所述多个计算单元每个发出的所述数据迁移请求,并对一个或多个待处理的数据迁移请求进行仲裁以选出用于进行处理的数据迁移请求,以生成仲裁结果,所述第二菊花链用于将所述仲裁单元生成的所述仲裁结果返回给发出所选出的数据迁移请求的计算单元的命令队列,所述多个计算单元中的向量存储器通过所述第三菊花链级联,且所述第三菊花链用于在所述多个计算单元中的向量存储器之间传输数据。2.根据权利要求1所述的数据处理装置,其中,所述多个计算单元每个发出的数据迁移请求包括来源标识、对应的工作组标识、数据量的大小、目的地标识和数据偏置信息。3.根据权利要求1所述的数据处理装置,其中,所述仲裁结果包括来源标识、目的地标识、数据量的大小和对应的工作组标识。4.根据权利要求1所述的数据处理装置,还包括中继器,其中,所述多个计算单元中的向量存储器通过所述第三菊花链与所述中继器连接成环,所述第三菊花链为单向菊花链。5.根据权利要求1或4所述的数据处理装置,其中,所述仲裁单元包括:缓冲队列,配置为通过所述第一菊花链接收并缓存所述多个计算单元每个发出的数据迁移请求,并通过所述第二菊花链输出所述仲裁结果;第一子模块,配置为将所述多个计算单元每个发出的数据迁移请求转化为菊花链环的形式;第二子模块,配置为对所述菊花链环当前及后期的变化进行预测得到第一预测矩阵;多个链环处理模块,其中,所述多个链环处理模块分别对应于所述第三菊花链中可进行操作的菊花链环,所述多个链环处理模块每个配置为以对应的菊花链环的形式存储对应的数据迁移操作的当前状态,对所述对应的菊花链环当前及后期的变化进行预测得到对应的第二预测矩阵;以及第三子模块,配置为接收所述第一预测矩阵、所述多个链环处理模块每个对应的菊花链环存储的当前状态以及对应的第二预测矩阵,根据所述多个链环处理模块每个对应的菊花链环存储的当前状态判断所述多个链环处理模块的占用情况,以及根据所述第一预测矩阵和所述多个链环处理模块每个对应的第二预测矩阵判断所述多个链环处理模块是否可接收所述第一子模块提供的菊花链环,以及输出所述仲裁结果。6.根据权利要求5所述的数据处理装置,其中,所述菊花链环包括p个寄存器,p=所述第三菊花链中的节点数目,p为正整数,每个寄存器对应于所述第三菊花链中的一个节点,且用于表示对应的节点的工作状态。7.根据权利要求6所述的数据处理装置,其中,所述第一预测矩阵和所述对应的第二预
测矩阵的尺寸均为s
×
p,s表示预测的周期数,所述第一预测矩阵和所述对应的第二预测矩阵的s行分别用于表示从当前开始的s个周期内所述p个节点中的数据传输情况。8.根据权利要求5所述的数据处理装置,其中,所述第一子模块还配置为基于所述多个计算单元每个发出的数据迁移请求中的来源标识、目的地标识和数据量的大小将所述多个计算单元每个发出的数据迁移请...

【专利技术属性】
技术研发人员:袁庆陈庆左航潘于王陶然
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1