指令生成方法、装置及电子设备制造方法及图纸

技术编号:37119929 阅读:14 留言:0更新日期:2023-04-01 05:15
公开了一种指令生成方法、装置及电子设备,涉及神经网络技术领域,该方法包括确定神经网络加速器包括的多个处理单元各自对应的待执行指令序列;基于多个处理单元对应的多个待执行指令序列中的指令类型,在确定多个待执行指令序列中的第i个指令的指令类型不完全相同的情况下,将第i个指令的位置确定为待处理指令位置;基于待处理指令位置,在待插入指令序列中插入与目标指令类型相同的指令,得到更新后的多个待执行指令序列;其中,待插入指令序列为多个待执行指令序列中,待处理指令位置的指令类型与目标指令类型不同的至少一个指令序列;基于更新后的多个待执行指令序列,生成神经网络加速器的合成指令序列,以实现多PE模式下的指令处理。模式下的指令处理。模式下的指令处理。

【技术实现步骤摘要】
指令生成方法、装置及电子设备


[0001]本公开涉及神经网络
,尤其涉及一种指令生成方法、装置及电子设备。

技术介绍

[0002]在芯片的硬件电路设计中,通常会为芯片中的每个处理单元(processing element,PE)设置相应的控制器(control)。若芯片上有多个PE,会为每个PE单独设计一个对应的control。因此,在芯片包括多个PE时,多个PE与多个control之间的电路设计较复杂。
[0003]为了简化电路设计,相关技术提出一种多PE模式的电路设计方式,多PE模式是指多个PE同时与一个control连接,通过该control同时控制多个PE执行相同类型的控制指令。在多PE模式的实际应用中,有可能出现待执行指令无法均匀分配到多个PE的情况,例如,待执行指令包括2个load指令,而PE有3个,那么就会出现有的PE上分配了load指令,而有的PE上没有分配load指令。此时,control将无法控制多个PE同时执行相同类型的控制指令,从而导致数据无法处理。

技术实现思路

[0004]现有的神经网络加速器无法支持多PE模式下部分指令数据的处理。
[0005]为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种指令生成方法、装置及电子设备,在生成神经网络加速器可执行的合成指令序列时,充分考虑了多个待执行指令序列中的指令的指令类型,从而使神经网络加速器能够支持多PE模式下所有指令数据的处理。
[0006]根据本公开的一个方面,提供了一种用于神经网络加速器的指令生成方法,包括:首先,确定神经网络加速器包括的多个处理单元各自对应的待执行指令序列;其次,基于多个处理单元对应的多个待执行指令序列中的指令类型,在确定多个待执行指令序列中的第i个指令的指令类型不完全相同的情况下,将第i个指令的位置确定为待处理指令位置;接着,基于待处理指令位置,在待插入指令序列中插入与目标指令类型相同的指令,得到更新后的多个待执行指令序列;其中,待插入指令序列为多个待执行指令序列中,待处理指令位置的指令类型与目标指令类型不同的至少一个指令序列;最后,基于更新后的多个待执行指令序列,生成神经网络加速器的合成指令序列。
[0007]基于本方案,通过根据多个处理单元对应的多个待执行指令序列中的指令的指令类型,生成神经网络加速器的合成指令序列。即在生成神经网络加速器可执行的指令时,充分考虑了多个处理单元对应的多个待执行指令序列中的指令的指令类型,因此生成的合成指令序列符合多PE模式的数据处理规则。从而将不符合多PE模式的数据处理规则所要求的指令,转变成符合多PE模式的数据处理规则所要求的指令,以实现指令数据的处理。
[0008]根据本公开的一个方面,提供了一种用于神经网络加速器进行指令生成装置,包括:第一确定模块,用于确定神经网络加速器包括的多个处理单元各自对应的待执行指令
序列;第二确定模块,用于基于第一确定模块得到的多个处理单元对应的多个待执行指令序列中的指令类型,在确定多个待执行指令序列中的第i个指令的指令类型不完全相同的情况下,将第i个指令的位置确定为待处理指令位置;插入模块,用于基于第二确定模块确定的待处理指令位置,在待插入指令序列中插入与目标指令类型相同的指令,得到更新后的多个待执行指令序列;其中,待插入指令序列为多个待执行指令序列中,待处理指令位置的指令类型与目标指令类型不同的至少一个指令序列;生成模块,用于基于插入模块得到的更新后的多个待执行指令序列,生成神经网络加速器的合成指令序列。
[0009]根据本公开的一个方面,提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行上述任一的方法。
[0010]根据本公开的一个方面,提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述任一的方法。
附图说明
[0011]通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0012]图1是现有技术一示例性实施例提供的多PE硬件电路设计图。
[0013]图2是本公开一示例性实施例提供的多PE模式对应的硬件电路设计图。
[0014]图3是本公开一示例性实施例提供的多PE对应的多个指令序列。
[0015]图4是本公开所适用的系统的示例性结构图。
[0016]图5是本公开一示例性实施例提供的一种电子设备的结构示意图。
[0017]图6是本公开一示例性实施例提供的另一种电子设备的结构示意图。
[0018]图7是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之一。
[0019]图8是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之二。
[0020]图9是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之三。
[0021]图10是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之四。
[0022]图11是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之五。
[0023]图12是本公开一示例性实施例提供的用于神经网络加速器的指令生成方法的流程示意图之六。
[0024]图13是本公开一示例性实施例提供的应用神经网络加速器的指令生成方法处理多个指令序列的示意图之一。
[0025]图14是本公开一示例性实施例提供的应用神经网络加速器的指令生成方法处理
多个指令序列的示意图之二。
[0026]图15是本公开一示例性实施例提供的一种指令生成装置的结构图。
[0027]图16是本公开一示例性实施例提供的一种电子设备的结构图。
具体实施方式
[0028]下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
[0029]通常,在芯片包含多个PE时,芯片的硬件电路设计方式是:为多个PE中的每个PE单独设计一个对应的Control,然后将每个PE与其对应的Control相连。从而在每个Control接收到任务后,先解析任务对应的待执行指令,然后控制与该Control相连的PE执行该待执行指令。
[0030]图1示例性的示出了一种芯片的硬件电路设计图。该硬件电路中包括3个Control和3个PE,3个Control分别是Control0、Control1和Control2。3个PE分别是PE0、PE1和PE2。其中,Control0和PE0连接,Control1和PE1连接,Control本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于神经网络加速器的指令生成方法,包括:确定所述神经网络加速器包括的多个处理单元各自对应的待执行指令序列;基于所述多个处理单元对应的多个所述待执行指令序列中的指令类型,在确定多个所述待执行指令序列中的第i个指令的指令类型不完全相同的情况下,将所述第i个指令的位置确定为待处理指令位置;基于所述待处理指令位置,在待插入指令序列中插入与目标指令类型相同的指令,得到更新后的多个待执行指令序列;其中,所述待插入指令序列为多个所述待执行指令序列中,所述待处理指令位置的指令类型与所述目标指令类型不同的至少一个指令序列;基于所述更新后的多个待执行指令序列,生成所述神经网络加速器的合成指令序列。2.根据权利要求1所述的方法,其中,所述基于所述待处理指令位置,在待插入指令序列中插入与目标指令类型相同的指令,得到更新后的多个待执行指令序列,包括:基于所述待处理指令位置,确定所述目标指令类型;在所述多个待执行指令序列中,将待处理指令位置的指令类型与所述目标指令类型不同的指令序列确定为所述待插入指令序列;在所述待插入指令序列中插入与所述目标指令类型相同的指令,得到更新后的多个待执行指令序列。3.根据权利要求2所述的方法,其中,所述基于所述待处理指令位置,确定所述目标指令类型,包括:基于所述待处理指令位置,确定每个所述待执行指令序列中位于所述待处理指令位置的第一指令的指令类型;基于每个所述第一指令的指令类型,确定所述目标指令类型。4.根据权利要求3所述的方法,其中,所述基于每个所述第一指令的指令类型,确定所述目标指令类型,包括:HP2225755BJ基于每个所述第一指令的指令类型,将任一所述第一指令的指令类型确定为所述目标指令类型。5.根据权利要求3所述的方法,其中,所述基于每个所述第一指令的指令类型,确定所述目标指令类型,包括:基于每个所述第一指令的指令类型,确定同一指令类型的指令数量;将同一指令类型的指令数量最多的指令类型确定为所述目标指令类型。6.根据权利要求2

5中任一项所述的方法,其中,所述在所述待插入指令序列中插入与所述目标指令类型相同的指令,得到更新后的多个...

【专利技术属性】
技术研发人员:李德林李建军
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:

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

1