System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 可重构协处理器、芯片、多核信号处理系统和计算方法技术方案_技高网

可重构协处理器、芯片、多核信号处理系统和计算方法技术方案

技术编号:40446997 阅读:5 留言:0更新日期:2024-02-22 23:07
本公开涉及处理器技术领域,具体涉及一种可重构协处理器、芯片、多核信号处理系统和计算方法。所述可重构协处理器包括:主控制器模块、重构控制器模块和可重构计算阵列,重构控制器模块包括重构控制器和至少一个子算法模块,可重构计算阵列包括一个或多个可重构计算单元,可重构计算单元包括多个计算资源,其中:重构控制器分割指定神经网络计算对应的数据流图,获得多个子计算流图,根据所述多个子计算流图,确定用于计算所述多个子计算流图的计算核的种类,为每种计算核激活对应的子计算模块,所述子计算模块根据相应计算核,配置相应的可重构计算单元中计算资源的互联方式。本公开通过重复使用一致的计算核可减少可重构计算阵列的配置消耗。

【技术实现步骤摘要】

本公开涉及处理器,具体涉及一种可重构协处理器、芯片、多核信号处理系统和计算方法


技术介绍

1、随着人工智能技术的不断发展,神经网络算法的复杂性和计算密集性对计算机硬件资源提出了更高的要求,而计算机硬件的传统计算方式已然无法满足其所需的加速性能。在这种背景下,可以改变计算功能以适应不同任务需要的可重构架构设计成为了一种实现计算加速的重要手段。

2、可重构架构设计采用的是一种将指令流驱动处理器的功能灵活性和数据流驱动处理器的高能量效率(即性能功耗比)结合在一起的计算方式,简单而言就是软件、硬件均可编程,尤其是硬件不同于普通的通用处理器,根据任务特点配置硬件组件,通过改变硬件结构,优化形成最适合此任务的高性能电路。但是,在现有的可重构计算系统中,神经网络计算任务通常会被映射到可重构计算阵列上执行,但是由于计算任务中包含多种计算,需要针对可重构计算阵列进行多次配置,导致计算效率仍然很低。


技术实现思路

1、为了解决相关技术中的问题,本公开实施例提供一种可重构协处理器、芯片、多核信号处理系统和计算方法,能够将神经网络计算对应的数据流图分割成一系列的子计算流图,基于子计算流图对可重构计算阵列中的可重构计算单元进行配置,减少可重构计算阵列的配置次数,多个可重构计算单元可以并行执行相应子计算流图的计算,从而大大提高了计算效率。

2、第一方面,本公开实施例中提供了一种可重构协处理器,所述可重构协处理器包括:主控制器模块、重构控制器模块和可重构计算阵列,所述重构控制器模块包括重构控制器和至少一个子算法模块,所述可重构计算阵列包括一个或多个可重构计算单元,所述可重构计算单元包括多个计算资源,其中:

3、所述主控制器模块向所述重构控制器发送与指定神经网络计算相对应的配置数据;

4、所述重构控制器通过解析所述配置数据确定所述指定神经网络计算对应的数据流图;

5、所述重构控制器分割所述数据流图,获得多个子计算流图;

6、所述重构控制器根据所述多个子计算流图,确定用于计算所述多个子计算流图的计算核的种类,为每种计算核激活对应的子计算模块,其中,不同计算核对应于所述可重构计算阵列的不同配置;

7、所述子计算模块根据相应计算核,配置相应的可重构计算单元中计算资源的互联方式,以完成所述指定神经网络计算。

8、根据本公开的实施例,所述所述重构控制器根据所述多个子计算流图,确定用于计算所述多个子计算流图的计算核的种类,包括:

9、所述重构控制器对所述多个子计算流图进行分类,确定每一类别的子计算流图集合所包括的同构子计算流图数量;

10、所述重构控制器确定为每一类别的子计算流图集合所分配的计算核数量;

11、针对每一类别的子计算流图集合,所述重构控制器根据所述同构子计算流图数量和所述计算核数量,将所述多个子计算流图分配到多个计算核中;

12、所述重构控制器根据每个计算核所对应的子计算流图,确定所述计算核的种类。

13、根据本公开的实施例,所述多个可重构计算单元具有相同的计算能力,所述计算能力为所述可重构计算单元支持的计算量,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

14、所述重构控制器根据每个所述可重构计算单元的计算能力,对所述数据流图进行分割,获得所述多个子计算流图,其中:

15、所述子计算流图的计算量小于等于所述可重构计算单元的计算能力。

16、根据本公开的实施例,在所述数据流图的总计算量小于所述可重构计算阵列所包括的多个可重构计算单元的总计算能力时,为所述可重构计算阵列中的空闲可重构计算单元分配其他计算。

17、根据本公开的实施例,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

18、所述重构控制器采用广度优先搜索算法分割所述数据流图,获得多个子计算流图,所述多个子计算流图的计算彼此独立。

19、根据本公开的实施例,所述重构控制器确定为每一类别的子计算流图集合所分配的计算核数量,包括针对每一类别的子计算流图集合进行以下步骤:

20、根据所述类别的子计算流图所包括的同构子计算流图数量x,每个同构子计算流图的计算节点数量y、所述可重构计算单元的设定单元面积s,按照以下公式得到所述类别的子计算流图集合的计算核数量z,z=x×y÷s。

21、根据本公开的实施例,所述每个可重构计算单元的设定单元面积根据子计算流图单元面积s’进行设定;

22、所述子计算流图单元面积s’为所述子计算流图的最长路径长度与最大计算节点数量之积。

23、根据本公开的实施例,所述重构控制器根据所述同构子计算流图数量和所述计算核数量,将所述多个子计算流图分配到多个计算核中,包括:

24、所述重构控制器根据所述同构子计算流图数量和所述计算核数量确定为每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量;

25、根据每个计算核所对应的可重构计算单元的数量,以及每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量,将每一类别的子计算流图集合所包括的同构子计算数据流图分配到与所述计算核数量对应的计算核中。

26、根据本公开的实施例,所述重构控制器根据所述同构子计算流图数量和所述计算核数量确定为每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量,包括针对每一类别的子计算流图集合进行以下步骤:

27、根据所述同构子计算流图数量n和所述计算核数量m,确定为每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量d,d=[n/m],其中,[]表示向上取整。

28、根据本公开的实施例,所述将每一类别的子计算流图集合所包括的同构子计算流图分配到与所述计算核数量对应的计算核中,包括:

29、在将所述同构子计算流图分配到与所述计算核数量对应的计算核中后,所述多个计算核构成的一致的计算核的数量最大。

30、根据本公开的实施例,所述同构子计算流图具有相同的计算节点和相同的计算节点之间的连接关系;一致的计算核所对应的同构子计算流图的类别和数量均相同。

31、根据本公开的实施例,为每种计算核激活对应的子计算模块,包括:

32、在所述至少两个计算核属于一致的计算核时,为所述至少两个计算核激活一个子计算模块;

33、在所述至少两个计算核属于不一致的计算核时,为所述至少两个计算核中的每个计算核分别激活对应的子计算模块,所述每个计算核对应的子算法模块不同。

34、根据本公开的实施例,所述子算法模块包括以下任意一种或多种:二维插值算法模块、排序算法模块、矩阵求逆算法模块、快速傅里叶变换算法模块、快速傅里叶逆变换算法模块、互相关算法模块、有限长单位冲激响应算法模块、自相关算法模块。

35、根据本公开的实施例,所述子算法模块包括一个或多个自本文档来自技高网...

【技术保护点】

1.一种可重构协处理器,其特征在于,所述可重构协处理器包括:主控制器模块、重构控制器模块和可重构计算阵列,所述重构控制器模块包括重构控制器和至少一个子算法模块,所述可重构计算阵列包括一个或多个可重构计算单元,所述可重构计算单元包括多个计算资源,其中:

2.根据权利要求1所述的可重构协处理器,其中,所述所述重构控制器根据所述多个子计算流图,确定用于计算所述多个子计算流图的计算核的种类,包括:

3.根据权利要求1所述的可重构协处理器,其特征在于,所述多个可重构计算单元具有相同的计算能力,所述计算能力为所述可重构计算单元支持的计算量,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

4.根据权利要求3所述的可重构协处理器,其特征在于,在所述数据流图的总计算量小于所述可重构计算阵列所包括的多个可重构计算单元的总计算能力时,为所述可重构计算阵列中的空闲可重构计算单元分配其他计算。

5.根据权利要求1所述的可重构协处理器,其特征在于,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

6.根据权利要求2所述的可重构协处理器,其特征在于,所述重构控制器确定为每一类别的子计算流图集合所分配的计算核数量,包括针对每一类别的子计算流图集合进行以下步骤:

7.根据权利要求6所述的可重构协处理器,其特征在于,所述每个可重构计算单元的设定单元面积根据子计算流图单元面积s’进行设定;

8.根据权利要求2所述的可重构协处理器,其特征在于,所述重构控制器根据所述同构子计算流图数量和所述计算核数量,将所述多个子计算流图分配到多个计算核中,包括:

9.根据权利要求8所述的可重构协处理器,其特征在于,所述重构控制器根据所述同构子计算流图数量和所述计算核数量确定为每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量,包括针对每一类别的子计算流图集合进行以下步骤:

10.根据权利要求8所述的可重构协处理器,其特征在于,所述将每一类别的子计算流图集合所包括的同构子计算流图分配到与所述计算核数量对应的计算核中,包括:

11.根据权利要求10所述的可重构协处理器,其特征在于,所述同构子计算流图具有相同的计算节点和相同的计算节点之间的连接关系;一致的计算核所对应的同构子计算流图的类别和数量均相同。

12.根据权利要求1所述的可重构协处理器,其特征在于,为每种计算核激活对应的子计算模块,包括:

13.根据权利要求1所述的可重构协处理器,其特征在于,所述子算法模块包括以下任意一种或多种:二维插值算法模块、排序算法模块、矩阵求逆算法模块、快速傅里叶变换算法模块、快速傅里叶逆变换算法模块、互相关算法模块、有限长单位冲激响应算法模块、自相关算法模块。

14.根据权利要求1所述的可重构协处理器,其特征在于,所述子算法模块包括一个或多个自定义编译算法模块,所述自定义编译算法模块根据所述自定义编译算法的子计算流图的运算逻辑,生成相应的可重构计算单元中计算资源的配置信号,以配置相应的可重构计算单元中计算资源的互联方式。

15.根据权利要求1所述的可重构协处理器,其特征在于,所述重构控制器模块还包括重构状态机模块,所述重构状态机模块实时记录所述重构控制器和/或所述子算法模块的工作状态。

16.根据权利要求1所述的可重构协处理器,其特征在于,所述多个可重构计算单元包括一个或多个通用可重构计算单元。

17.根据权利要求16所述的可重构协处理器,其特征在于,所述通用可重构计算单元包括以下任意一种或多种计算资源:实数加法器、浮点去除器、实数乘法器、复数乘法器。

18.根据权利要求1所述的可重构协处理器,其特征在于,所述多个可重构计算单元包括一个或多个增强可重构计算单元。

19.根据权利要求18所述的可重构协处理器,其特征在于,所述增强可重构计算单元包括以下任意一种或多种计算资源:比较器、超越函数、定点浮点转换器、浮点除法器、实数乘法器、实数加法器、复数乘法器。

20.根据权利要求1所述的可重构协处理器,其特征在于,所述可重构计算单元包括一个或多个多路选择器,所述多路选择器连接到所述可重构计算单元中的计算资源和/或另一可重构计算单元中的计算资源,所述重构控制器模块通过控制所述多路选择器来对所述可重构计算阵列中计算资源的互联方式进行设置。

21.根据权利要求20所述的可重构协处理器,其特征在于,所述可重构计算单元还包括一个或多个输入输出寄存器,所述输入输出寄存器连接到所述可重构计算单元中的计算资源和/或另一可重构计算单元中的计算资源和/...

【技术特征摘要】

1.一种可重构协处理器,其特征在于,所述可重构协处理器包括:主控制器模块、重构控制器模块和可重构计算阵列,所述重构控制器模块包括重构控制器和至少一个子算法模块,所述可重构计算阵列包括一个或多个可重构计算单元,所述可重构计算单元包括多个计算资源,其中:

2.根据权利要求1所述的可重构协处理器,其中,所述所述重构控制器根据所述多个子计算流图,确定用于计算所述多个子计算流图的计算核的种类,包括:

3.根据权利要求1所述的可重构协处理器,其特征在于,所述多个可重构计算单元具有相同的计算能力,所述计算能力为所述可重构计算单元支持的计算量,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

4.根据权利要求3所述的可重构协处理器,其特征在于,在所述数据流图的总计算量小于所述可重构计算阵列所包括的多个可重构计算单元的总计算能力时,为所述可重构计算阵列中的空闲可重构计算单元分配其他计算。

5.根据权利要求1所述的可重构协处理器,其特征在于,所述重构控制器分割所述数据流图,获得多个子计算流图,包括:

6.根据权利要求2所述的可重构协处理器,其特征在于,所述重构控制器确定为每一类别的子计算流图集合所分配的计算核数量,包括针对每一类别的子计算流图集合进行以下步骤:

7.根据权利要求6所述的可重构协处理器,其特征在于,所述每个可重构计算单元的设定单元面积根据子计算流图单元面积s’进行设定;

8.根据权利要求2所述的可重构协处理器,其特征在于,所述重构控制器根据所述同构子计算流图数量和所述计算核数量,将所述多个子计算流图分配到多个计算核中,包括:

9.根据权利要求8所述的可重构协处理器,其特征在于,所述重构控制器根据所述同构子计算流图数量和所述计算核数量确定为每一类别的子计算流图集合在一个计算核中所分配的可重构计算单元数量,包括针对每一类别的子计算流图集合进行以下步骤:

10.根据权利要求8所述的可重构协处理器,其特征在于,所述将每一类别的子计算流图集合所包括的同构子计算流图分配到与所述计算核数量对应的计算核中,包括:

11.根据权利要求10所述的可重构协处理器,其特征在于,所述同构子计算流图具有相同的计算节点和相同的计算节点之间的连接关系;一致的计算核所对应的同构子计算流图的类别和数量均相同。

12.根据权利要求1所述的可重构协处理器,其特征在于,为每种计算核激活对应的子计算模块,包括:

13.根据权利要求1所述的可重构协处理器,其特征在于,所述子算法模块包括以下任意一种或多种:二维插值算法模块、排序算法模块、矩阵求逆算法模块、快速傅里叶变换算法模块、快速傅里叶逆变换算法模块、互相关算法模块、有限长单位冲激响应算法模块、自相关算法模块。

14.根据权利要求1所述的可重构协处理器,其特征在于,所述子算法模块包括一个或多个自定义编译算法模块,所述自定义编译算法模块根据所述自定义编译算法的子计算流图的运算逻辑,生成相应的可重构计算单元中计算资源的配置信号,以配置相应的可重构计算单元中计算资源的互联方式。

15.根据权利要求1所述的可重构协处理器,其特征在于,所述重构控制器模块还包括重构状态机模块,所述重构状态机模块实时记录所述重构控制器和/或所述子算法模块的工作状态。

16.根据权利要求1所述的可重构协处理器,其特征在于,所述多个可重构计算单元包括一个或...

【专利技术属性】
技术研发人员:杨伯宽赵东艳郑哲崔文朋刘敬华熊艳伟刘瑞袁福生王连忠龚向锋池颖英田志仲张桂庆蔡雨露
申请(专利权)人:北京智芯微电子科技有限公司
类型:发明
国别省市:

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

1