池化计算芯片、方法、加速器及系统技术方案

技术编号:38711887 阅读:17 留言:0更新日期:2023-09-08 14:54
本公开提供了一种池化计算芯片、方法、加速器及系统,涉及人工智能技术领域,所述芯片包括:多路分发器,包括第一输入端、第一输出端和第二输出端,被配置为响应于第一控制信号,将来自第一输入端的第一矩阵经由第一输出端或第二输出端输出;第一存储器,与第一输出端连接,被配置为响应于第二控制信号,执行多次输出以输出第一存储器存储的第一矩阵的每个元素,每次输出并行输出第一矩阵的一列元素;第二存储器,与第二输出端连接,被配置为响应于第三控制信号,串行输出第二存储器存储的第一矩阵中的第二矩阵的每个元素;以及计算电路,被配置为响应于第四控制信号,对来自第一存储器或第二存储器的第二矩阵进行池化计算以得到计算结果。以得到计算结果。以得到计算结果。

【技术实现步骤摘要】
池化计算芯片、方法、加速器及系统


[0001]本公开涉及人工智能
,尤其是一种池化计算芯片、方法、加速器及系统。

技术介绍

[0002]池化计算是神经网络计算中的常用计算,能够以下采样的方式缩减输入数据的大小。池化计算包括最大值池化计算和均值池化计算,通过移动池化计算窗口,可以得到多个池化计算窗口中数据的最大值或平均值。
[0003]池化计算的效率会影响神经网络的计算效率。相关技术中,可以通过硬件的加速器实现对池化计算的加速。

技术实现思路

[0004]专利技术人注意到,相关技术中的加速器无法兼顾计算速度和通用性。加速器要么实现对所有池化计算的加速,但是计算速度低;要么仅能够提高特定池化计算的计算速度,但是通用性差。
[0005]为了解决上述问题,本公开实施例提出了如下解决方案。
[0006]根据本公开实施例的一方面,提供一种池化计算芯片,包括:多路分发器,包括第一输入端、第一输出端和第二输出端,被配置为响应于第一控制信号,将来自所述第一输入端的第一矩阵经由所述第一输出端或所述第二输出端输出;第一存储器,与所述第一输出端连接,被配置为响应于第二控制信号,执行多次输出以输出所述第一存储器存储的所述第一矩阵的每个元素,每次输出并行输出所述第一矩阵的一列元素;第二存储器,与所述第二输出端连接,被配置为响应于第三控制信号,串行输出所述第二存储器存储的所述第一矩阵中的第二矩阵的每个元素;以及计算电路,被配置为响应于第四控制信号,对来自所述第一存储器或所述第二存储器的所述第二矩阵进行池化计算以得到计算结果。
[0007]在一些实施例中,所述第一存储器包括至少一个行缓存器,与所述第一输出端连接,每个行缓存器被配置为存储所述第一矩阵中的一行元素。
[0008]在一些实施例中,每个行缓存器包括一个或多个串联的先进先出存储器。
[0009]在一些实施例中,所述至少一个行缓存器包括N个行缓存器,不同的行缓存器被配置为存储所述第一矩阵中的不同行元素,N是大于或等于2的整数。
[0010]在一些实施例中,所述N个行缓存器依次串联,所述N个行缓存器中的第1个行缓存器与所述第一输出端连接,第i个行缓存器被配置为将流至第i个行缓存器的一行元素输出至第i+1个行缓存器,以使得不同的行缓存器存储所述第一矩阵中的不同行元素,i是大于等于1且小于等于N

1的整数。
[0011]在一些实施例中,所述第i个行缓存器被配置为在每将一个元素输出至所述计算电路的情况下,还将该元素输出至第i+1个行缓存器。
[0012]在一些实施例中,所述第一存储器还包括数据通路,与所述第一输出端连接并且与所述至少一个行缓存器并联,被配置为使得所述第一矩阵中的第一行元素或最后一行元
素经由所述数据通路流出。
[0013]在一些实施例中,所述计算电路被配置为响应于所述第四控制信号,从来自所述第一存储器的所述第一矩阵中确定所述第二矩阵,并对所述第二矩阵进行所述池化计算以得到所述计算结果。
[0014]在一些实施例中,所述第二矩阵包括第一个第二矩阵和第二个第二矩阵;所述计算电路被配置为对所述第一个第二矩阵的多个第一元素进行第一池化计算以得到第一计算结果,其中,所述第一池化计算包括:对所述多个第一元素中的每列第一元素进行第一计算以得到第一中间结果、以及对每列第一元素的第一中间结果进行第二计算以得到所述第一计算结果;以及所述计算电路还被配置为对所述第二个第二矩阵的多个第二元素进行第二池化计算以得到第二计算结果,其中,所述多个第二元素中至少一列第二元素与所述多个第一元素中的至少一列第一元素相同,所述第二池化计算包括:对所述多个第二元素中除所述至少一列第二元素外的每列第二元素进行所述第一计算以得到第二中间结果、以及对所述至少一列第一元素的第一中间结果和所述第二中间结果进行所述第二计算以得到所述第二计算结果。
[0015]在一些实施例中,所述计算电路包括:第一计算电路,被配置为执行所述第一计算,以得到所述第一中间结果和所述第二中间结果;和第二计算电路,被配置为在从所述第一计算电路获取所述至少一列第一元素的第一中间结果和所述第二中间结果后,执行所述第二计算以得到所述第二计算结果。
[0016]在一些实施例中,在每列第一元素的第一中间结果是该列第一元素之和的情况下,所述第一计算结果是所述第一个第二矩阵的多个第一元素的均值,所述第二计算结果是所述第二个第二矩阵的多个第二元素的均值;以及在每列第一元素的第一中间结果是该列第一元素的最值的情况下,所述第一计算结果是所述第一个第二矩阵的多个第一元素的最值,所述第二计算结果是所述第二个第二矩阵的多个第二元素的最值,所述最值为最大值和最小值中的一个。
[0017]在一些实施例中,所述第二存储器被配置为响应于所述第三控制信号,从所述第二存储器存储的所述第一矩阵中确定所述第二矩阵,并串行输出所述第二矩阵的每个元素至所述计算电路。
[0018]在一些实施例中,池化计算芯片还包括多路选择器,包括第二输入端、第三输入端和第三输出端,被配置为响应于第五控制信号,将来自所述第二输入端的所述第一矩阵或所述第三输入端的所述第二矩阵经由所述第三输出端输出,其中,所述第二输入端与所述第一存储器连接,所述第三输入端与所述第二存储器连接,所述第三输出端与所述计算电路连接。
[0019]在一些实施例中,池化计算芯片还包括数据整理器,被配置为响应于第六控制信号,将多个所述计算结果整理为预设格式并输出。
[0020]在一些实施例中,池化计算芯片还包括第一控制器,被配置为发送多个控制信号,所述多个控制信号包括所述第一控制信号、所述第二控制信号、所述第三控制信号和所述第四控制信号。
[0021]根据本公开实施例的另一方面,提供一种池化计算方法,包括:多路分发器响应于第一控制信号,将来自所述多路分发器的第一输入端的第一矩阵经由所述多路分发器的第
一输出端或所述多路分发器的第二输出端输出;在所述第一矩阵经由所述第一输出端输出的情况下,第一存储器响应于第二控制信号,执行多次输出以输出所述第一存储器存储的所述第一矩阵的每个元素,每次输出并行输出所述第一矩阵的一列元素,所述第一存储器与所述第一输出端连接;在所述第一矩阵经由所述第二输出端输出的情况下,第二存储器响应于第三控制信号,串行输出所述第二存储器存储的所述第一矩阵中的第二矩阵的每个元素,所述第二存储器与所述第二输出端连接;以及计算电路响应于第四控制信号,对来自所述第一存储器或所述第二存储器的所述第二矩阵进行池化计算以得到计算结果。
[0022]在一些实施例中,所述第一存储器包括至少一个行缓存器,与所述第一输出端连接,每个行缓存器存储所述第一矩阵中的一行元素。
[0023]在一些实施例中,所述每个行缓存器包括一个或多个串联的先进先出存储器。
[0024]在一些实施例中,所述至少一个行缓存器包括N个行缓存器,不同的行缓存器存储所述第一矩阵中的不同行元素,N是大于或等于2的整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种池化计算芯片,包括:多路分发器,包括第一输入端、第一输出端和第二输出端,被配置为响应于第一控制信号,将来自所述第一输入端的第一矩阵经由所述第一输出端或所述第二输出端输出;第一存储器,与所述第一输出端连接,被配置为响应于第二控制信号,执行多次输出以输出所述第一存储器存储的所述第一矩阵的每个元素,每次输出并行输出所述第一矩阵的一列元素;第二存储器,与所述第二输出端连接,被配置为响应于第三控制信号,串行输出所述第二存储器存储的所述第一矩阵中的第二矩阵的每个元素;以及计算电路,被配置为响应于第四控制信号,对来自所述第一存储器或所述第二存储器的所述第二矩阵进行池化计算以得到计算结果。2.根据权利要求1所述的池化计算芯片,其中,所述第一存储器包括至少一个行缓存器,与所述第一输出端连接,每个行缓存器被配置为存储所述第一矩阵中的一行元素。3.根据权利要求2所述的池化计算芯片,其中,每个行缓存器包括一个或多个串联的先进先出存储器。4.根据权利要求2所述的池化计算芯片,其中,所述至少一个行缓存器包括N个行缓存器,不同的行缓存器被配置为存储所述第一矩阵中的不同行元素,N是大于或等于2的整数。5.根据权利要求4所述的池化计算芯片,其中,所述N个行缓存器依次串联,所述N个行缓存器中的第1个行缓存器与所述第一输出端连接,第i个行缓存器被配置为将流至第i个行缓存器的一行元素输出至第i+1个行缓存器,以使得不同的行缓存器存储所述第一矩阵中的不同行元素,i是大于等于1且小于等于N

1的整数。6.根据权利要求5所述的池化计算芯片,其中,所述第i个行缓存器被配置为在每将一个元素输出至所述计算电路的情况下,还将该元素输出至第i+1个行缓存器。7.根据权利要求2

6任意一项所述的池化计算芯片,其中,所述第一存储器还包括数据通路,与所述第一输出端连接并且与所述至少一个行缓存器并联,被配置为使得所述第一矩阵中的第一行元素或最后一行元素经由所述数据通路流出。8.根据权利要求1所述的池化计算芯片,其中,所述计算电路被配置为响应于所述第四控制信号,从来自所述第一存储器的所述第一矩阵中确定所述第二矩阵,并对所述第二矩阵进行所述池化计算以得到所述计算结果。9.根据权利要求8所述的池化计算芯片,其中,所述第二矩阵包括第一个第二矩阵和第二个第二矩阵;所述计算电路被配置为对所述第一个第二矩阵的多个第一元素进行第一池化计算以得到第一计算结果,其中,所述第一池化计算包括:对所述多个第一元素中的每列第一元素进行第一计算以得到第一中间结果、以及对每列第一元素的第一中间结果进行第二计算以得到所述第一计算结果;以及
所述计算电路还被配置为对所述第二个第二矩阵的多个第二元素进行第二池化计算以得到第二计算结果,其中,所述多个第二元素中至少一列第二元素与所述多个第一元素中的至少一列第一元素相同,所述第二池化计算包括:对所述多个第二元素中除所述至少一列第二元素外的每列第二元素进行所述第一计算以得到第二中间结果、以及对所述至少一列第一元素的第一中间结果和所述第二中间结果进行所述第二计算以得到所述第二计算结果。10.根据权利要求9所述的池化计算芯片,其中,所述计算电路包括:第一计算电路,被配置为执行所述第一计算,以得到所述第一中间结果和所述第二中间结果;和第二计算电路,被配置为在从所述第一计算电路获取所述至少一列第一元素的第一中间结果和所述第二中间结果后,执行所述第二计算以得到所述第二计算结果。11.根据权利要求9所述的池化计算芯片,其中,在每列第一元素的第一中间结果是该列第一元素之和的情况下,所述第一计算结果是所述第一个第二矩阵的多个第一元素的均值,所述第二计算结果...

【专利技术属性】
技术研发人员:王佳东蔡权雄牛昕宇
申请(专利权)人:深圳鲲云信息科技有限公司
类型:发明
国别省市:

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

1