System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用于处理器的数据处理方法、处理器及存储介质技术_技高网

应用于处理器的数据处理方法、处理器及存储介质技术

技术编号:40007213 阅读:6 留言:0更新日期:2024-01-16 14:42
本申请涉及一种应用于处理器的数据处理方法、处理器及存储介质;其中,处理器包括多个引擎和多个缓存器,每一个缓存器包括引擎ID寄存器和引擎ID先进先出FIFO存储器,该方法包括:第一引擎从与第一引擎对应的第一指令队列中获取待执行的第一指令;其中,第一引擎为多个引擎中的任一引擎,第一指令队列中包括按序执行的多个待执行的指令;第一引擎从多个缓存器中确定与第一指令对应且待使用的缓存器,并判断待使用的缓存器中引擎ID寄存器的引擎ID是否与第一引擎的ID匹配;在判断结果为是的情况下,第一引擎执行第一指令。通过本申请,解决了现有技术中通过软件来设置同步事件以避免数据冒险,导致AI运行效率较低的问题。

【技术实现步骤摘要】

本申请涉及数据处理领域,尤其涉及一种应用于处理器的数据处理方法、处理器及存储介质


技术介绍

1、由于神经网络具有数据独立性和可并行计算的特征,且计算类型属于密集型计算。gpu在大规模密集型数据并行计算方面优势极为突出,但是有一个难以克服的“硬伤”就是功耗过高。因此,需要寻求高性能和高能效的处理芯片,ai(artificial intelligence,人工智能)处理器应运而生。其中,卷积神经网络由卷积层、激活层、池化层及全连接层组成。针对卷积神经网络所需的计算特征,ai处理器通常包含多个处理引擎,通常由数据搬移变换引擎、标量运算引擎、矢量运算引擎和矩阵运算引擎。

2、ai处理器是一个类异构计算的架构,内部有多个加速引擎,为了提高运行的效率,需要将各加速引擎并行执行。而加速引擎都是由数据流驱动,这就需要在运行的时候能够保证数据的一致性同步,如先写后读、先读后写的流程控制。ai处理器中矩阵运算、向量运算和数据搬移变换的周期数特别长,并且周期由输入数据的长度决定,所以必须设计一种机制保障数据的先后逻辑关系,即解决数据同步问题。为了提高ai处理器的性能,现有的做法是:每个引擎内部采用流水执行,同一流水线内部顺序执行,数据冒险通过设置屏障指令来保证。不同的引擎流水线间的数据冒险通过软件来保证。

3、通过软件来设置同步事件来避免数据冒险具有如下缺点:1、对软件编程人员要求较高,易用性和用户体验差;2、多个引擎流水线间的同步需要软件实时监控管理;3、在ai处理器内部各引擎执行过程中,软硬件交互较多,影响ai处理器的运行效率。

4、针对相关技术中的上述问题,目前尚未存在有效的解决方案。


技术实现思路

1、本申请提供了一种应用于处理器的数据处理方法、处理器及存储介质,以解决现有技术中通过软件来设置同步事件以避免数据冒险导致ai运行效率较低的问题。

2、第一方面,本申请提供了一种应用于处理器的数据处理方法,所述处理器包括多个引擎和多个缓存器,每一个所述缓存器包括引擎id寄存器和引擎id先进先出fifo存储器,所述方法包括:第一引擎从与所述第一引擎对应的第一指令队列中获取待执行的第一指令;其中,所述第一引擎为所述多个引擎中的任一引擎,所述第一指令队列中包括按序执行的多个待执行的指令;所述第一引擎从所述多个缓存器中确定与所述第一指令对应且待使用的缓存器,并判断所述待使用的缓存器中引擎id寄存器的引擎id是否与所述第一引擎的id匹配;在判断结果为是的情况下,所述第一引擎执行所述第一指令。

3、第二方面,本申请提供了一种处理器,所述处理器包括多个引擎和多个缓存器,每一个所述缓存器包括引擎id寄存器和引擎id先进先出fifo存储器,所述装置应用于第一引擎,该处理器包括:获取模块,用于从与所述第一引擎对应的第一指令队列中获取待执行的第一指令;其中,所述第一引擎为所述多个引擎中的任一引擎;其中,所述第一指令队列中包括按序执行的多个待执行的指令;第一处理模块,用于从所述多个缓存器中确定与所述第一指令对应且待使用的缓存器,并判断所述待使用的缓存器中引擎id寄存器中的引擎id是否与所述第一引擎的id匹配;第一执行模块,用于在判断结果为是的情况下,执行所述第一指令。

4、第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

5、存储器,用于存放计算机程序;

6、处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的方法步骤。

7、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的方法步骤。

8、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

9、本申请实施例提供的该方法,建立了缓存器与引擎之间的关联机制,即在第一引擎需要执行指令时需要从多个缓存器中确定与第一指令对应且待使用的缓存器,并确定待使用的缓存器中引擎id寄存器中的引擎id是否为第一引擎的id,如果引擎id寄存器中的引擎id为第一引擎的id,则第一引擎执行第一指令。对于处理器中的引擎也是同样的方式执行指令,也就是说,在本申请实施例中各个引擎执行各自指令队列中的指令,各个引擎间同步处理数据由缓存器和引擎id来保证,即通过缓存器来实现各个引擎间的数据同步,从而解决了现有技术中通过软件来设置同步事件以避免数据冒险导致ai运行效率较低的问题。

本文档来自技高网...

【技术保护点】

1.一种应用于处理器的数据处理方法,其特征在于,所述处理器包括多个引擎和多个缓存器,每一个所述缓存器包括引擎ID寄存器和引擎ID先进先出FIFO存储器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在第一引擎从与所述第一引擎对应的第一指令队列中获取待执行的第一指令之前,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至7中任一项所述的方法,其特征在于,基于ping-pong设计每一个所述缓存器,每一个所述缓存器包括两个子缓存器,每一个子缓存器均包括引擎ID寄存器和引擎ID FIFO存储器。

9.根据权利要求8所述的方法,其特征在于,每一个所述缓存器中的引擎ID寄存器的数量为2;其中一个引擎ID寄存器存储当前待执行指令的引擎ID,另一个引擎ID寄存器存储下一个待执行指令的引擎ID。

10.一种处理器,其特征在于,包括多个引擎和多个缓存器,每一个所述缓存器包括引擎ID寄存器和引擎ID先进先出FIFO存储器,所述处理器还包括:

11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的方法步骤。

...

【技术特征摘要】

1.一种应用于处理器的数据处理方法,其特征在于,所述处理器包括多个引擎和多个缓存器,每一个所述缓存器包括引擎id寄存器和引擎id先进先出fifo存储器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在第一引擎从与所述第一引擎对应的第一指令队列中获取待执行的第一指令之前,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至7中任一项所述的方法,其特征在于,基于ping-pong设计每一...

【专利技术属性】
技术研发人员:姚晓
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1