神经网络加速计算的指令调度系统及方法、设备

文档序号:36487731发布日期:2023-12-26 08:32阅读:32来源:国知局
神经网络加速计算的指令调度系统及方法

本发明涉及人工智能芯片,尤其涉及一种神经网络加速计算的指令调度系统及方法、设备。


背景技术:

1、目前的数据处理方式中,存储的数据和计算资源是分离的,可以指令为牵引,读取指令,解析指令,执行指令,存储的数据是指令执行的附属物。读取指令后,再解析执行,读取数据是一个串行的过程,虽然采用流水线设计,尽可能弥补串行操作的时间上的损失,但是硬件资源的利用率仍然不高。


技术实现思路

1、本发明提供一种神经网络加速计算的指令调度系统及方法、设备,用以解决现有技术中硬件资源的利用率仍然不高的缺陷,实现硬件资源的利用率的提高。

2、本发明提供一种神经网络加速计算的指令调度系统,包括调度器、搬移模块和多个数据操作单元;

3、所述调度器用于获取神经网络当前层的加速计算任务所需的目标指令的标识,并获取所述目标指令的标识对应的存储空间中所存储的所述目标指令;对所述目标指令进行解析,并基于解析结果生成数据搬移指令和数据操作指令;将所述数据操作指令的参数配置下发给所述多个数据操作单元;将所述数据搬移指令下发给所述搬移模块;

4、所述搬移模块用于基于所述数据搬移指令,将数据存储器中存储的第一数据块的特征图数据以n批搬移到缓存空间中,n为大于或者等于1的正整数;

5、所述调度器还用于每当确定一批特征图数据均搬移到所述缓存空间时,向所述数据操作单元下发执行所述数据操作指令的触发命令;

6、所述多个数据操作单元用于基于接收的所述数据操作指令的参数配置进行配置操作;当接收到所述触发命令时,基于所述缓存空间中的特征图数据执行所述数据操作指令,基于执行结果获得所述神经网络当前层的计算结果并以第二数据块存储至所述数据存储器。

7、根据本发明提供的一种神经网络加速计算的指令调度系统,所述缓存空间包括第一子空间和第二子空间;所述神经网络加速计算的指令调度系统还包括所述第一子空间对应的第一配置模块以及所述第二子空间对应的第二配置模块;

8、所述搬移模块具体用于交替向所述第一子空间和所述第二子空间搬移特征图数据;

9、所述调度器具体用于交替将所述数据操作指令的参数配置下发至所述第一配置模块和所述第二配置模块;其中,当所述搬移模块向所述第一子空间搬移特征图数据时,将所述数据操作指令的参数配置下发至所述第一配置模块;当所述搬移模块向所述第二子空间搬移特征图数据时,将所述数据操作指令的参数配置下发至所述第二配置模块;

10、所述多个数据操作单元具体用于交替接收所述第一配置模块和所述第二配置模块的参数配置;在基于接收的所述第一配置模块的参数配置进行配置操作的情况下,当接收到所述触发命令时,基于所述第一子空间中的特征图数据执行所述数据操作指令;在基于接收的所述第二配置模块的参数配置进行配置操作的情况下,基于所述第二子空间的特征图数据执行所述数据操作指令。

11、根据本发明提供的一种神经网络加速计算的指令调度系统,在所述第一数据块所需的存储空间的大小大于所述第一子空间和所述第二子空间的大小的情况下,采用的n大于1。

12、根据本发明提供的一种神经网络加速计算的指令调度系统,所述目标指令中包括:

13、所述第一数据块的信息;

14、所述第二数据块的信息;

15、在所述目标指令非最后一条指令的情况下,所述目标指令中还包括所述目标指令的下一条指令的标识,所述下一条指令为所述神经网络下一层的加速计算任务所需的指令;

16、所述调度器具体用于将所述第一数据块的信息和所述第二数据块的信息作为参数配置下发给所述多个数据操作单元;当所述目标指令执行完毕后,获取所述下一条指令的标识对应的存储空间中所存储的所述下一条指令。

17、根据本发明提供的一种神经网络加速计算的指令调度系统,所述搬移模块具体用于在执行完所述目标指令并获取到所述下一条指令的情况下,切换至向所述第一子空间和所述第二子空间中未被所述目标指令下最后搬移的特征图数据占用的一者搬移所述第二数据块的特征图数据。

18、根据本发明提供的一种神经网络加速计算的指令调度系统,还包括m个指令寄存器,所述m个指令寄存器用于存储m个神经网络的加速计算任务的首指令的标识,m为大于1的正整数;

19、所述调度器还用于基于所述m个指令寄存器存储的所述m个神经网络的加速计算任务的首指令的标识,采用轮询的方式对所述m个神经网络的加速计算任务的指令进行调度。

20、根据本发明提供的一种神经网络加速计算的指令调度系统,所述调度器还用于基于哈希表中的键值确定所述数据存储器中所述目标指令所需的所述第一数据块是否准备就绪,当准备就绪时,激活所述目标指令。

21、本发明还提供一种基于如上述任一种所述的神经网络加速计算的指令调度系统的指令调度方法,包括:

22、所述调度器获取神经网络当前层的加速计算任务所需的目标指令的标识,并获取所述目标指令的标识对应的存储空间中所存储的所述目标指令;对所述目标指令进行解析,并基于解析结果生成数据搬移指令和数据操作指令;将所述数据操作指令的参数配置下发给所述多个数据操作单元;将所述数据搬移指令下发给所述搬移模块;

23、所述搬移模块基于所述数据搬移指令,将数据存储器中存储的第一数据块的特征图数据以n批搬移到缓存空间中,n为大于或者等于1的正整数;

24、所述调度器每当确定一批特征图数据均搬移到所述缓存空间时,向所述数据操作单元下发执行所述数据操作指令的触发命令;

25、所述多个数据操作单元基于接收的所述数据操作指令的参数配置进行配置操作;当接收到所述触发命令时,基于所述缓存空间中的特征图数据执行所述数据操作指令,基于执行结果获得所述神经网络当前层的计算结果并以第二数据块存储至所述数据存储器。

26、本发明还提供一种神经网络加速器,包括如上述任一种所述的神经网络加速计算的指令调度系统。

27、本发明还提供一种电子设备,包括如上述的神经网络加速器。

28、本发明提供的神经网络加速计算的指令调度系统,在神经网络加速计算的过程中,对于神经网络当前层的加速计算任务所需的目标指令,生成数据搬移指令和数据操作指令后,数据操作单元并非直接执行数据操作指令,而是在搬移模块将一批特征图数据准备到位以后,调度器再下发触发命令使得数据操作单元执行数据操作指令,如此,可以使数据存算一体化,实现数据驱动下的高效计算,从而最大限定地利用硬件资源,避免了硬件资源的浪费,提高了硬件资源的利用率。



技术特征:

1.一种神经网络加速计算的指令调度系统,其特征在于,包括调度器、搬移模块和多个数据操作单元;

2.根据权利要求1所述的神经网络加速计算的指令调度系统,其特征在于,所述缓存空间包括第一子空间和第二子空间;所述神经网络加速计算的指令调度系统还包括所述第一子空间对应的第一配置模块以及所述第二子空间对应的第二配置模块;

3.根据权利要求2所述的神经网络加速计算的指令调度系统,其特征在于,在所述第一数据块所需的存储空间的大小大于所述第一子空间和所述第二子空间的大小的情况下,采用的n大于1。

4.根据权利要求2所述的神经网络加速计算的指令调度系统,其特征在于,所述目标指令中包括:

5.根据权利要求4所述的神经网络加速计算的指令调度系统,其特征在于,所述搬移模块具体用于在执行完所述目标指令并获取到所述下一条指令的情况下,切换至向所述第一子空间和所述第二子空间中未被所述目标指令下最后搬移的特征图数据占用的一者搬移所述第二数据块的特征图数据。

6.根据权利要求1所述的神经网络加速计算的指令调度系统,其特征在于,还包括m个指令寄存器,所述m个指令寄存器用于存储m个神经网络的加速计算任务的首指令的标识,m为大于1的正整数;

7.根据权利要求1所述的神经网络加速计算的指令调度系统,其特征在于,所述调度器还用于基于哈希表中的键值确定所述数据存储器中所述目标指令所需的所述第一数据块是否准备就绪,当准备就绪时,激活所述目标指令。

8.一种基于如权利要求1至7任一项所述的神经网络加速计算的指令调度系统的指令调度方法,其特征在于,包括:

9.一种神经网络加速器,其特征在于,包括如权利要求1至7任一项所述的神经网络加速计算的指令调度系统。

10.一种电子设备,其特征在于,包括如权利要求9所述的神经网络加速器。


技术总结
本发明涉及人工智能芯片领域,提供一种神经网络加速计算的指令调度系统及方法、设备,系统包括:调度器用于获取目标指令的标识对应的存储空间中所存储的目标指令;对目标指令进行解析并基于解析结果生成数据搬移指令和数据操作指令;搬移模块基于数据搬移指令将数据存储器中存储的第一数据块的特征图数据以N批搬移到缓存空间中;调度器每当确定一批特征图数据均搬移到缓存空间时向数据操作单元下发执行数据操作指令的触发命令;多个数据操作单元基于接收的数据操作指令的参数配置进行配置操作;当接收到触发命令时基于缓存空间中的特征图数据执行数据操作指令,基于执行结果获得计算结果并以第二数据块存储至数据存储器。提高了硬件资源利用率。

技术研发人员:徐健,张明,覃鸿,何金钟,李卫军
受保护的技术使用者:中国科学院半导体研究所
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1