一种基于脉动阵列的多精度加速器及其数据处理方法技术

技术编号:32824689 阅读:13 留言:0更新日期:2022-03-26 20:25
本发明专利技术公开了一种基于脉动阵列的多精度加速器及其数据处理方法,所述方法包括:获取预设的输入数据的数据精度;其中,所述数据精度用于表征数据位数;根据所述数据精度和所述输入数据,确定与所述输入数据对应的分段数据;将所述分段数据映射到乘法器单元组,并通过多精度加速器对所述分段数据进行乘累加运算。本发明专利技术实施例根据输入数据的数据精度确定出不同的分段数据,然后将分段数据映射到乘法器单元组,再通过多精度加速器对所述分段数据进行乘累加运算,可以以较少内存带宽消耗实现更高吞吐量的乘累加运算。更高吞吐量的乘累加运算。更高吞吐量的乘累加运算。

【技术实现步骤摘要】
一种基于脉动阵列的多精度加速器及其数据处理方法


[0001]本专利技术涉及数字电路
,尤其涉及的是一种基于脉动阵列的多精度加速器及其数据处理方法。

技术介绍

[0002]目前人工智能领域发展迅速,随着网络计算量和参数量的增加,业内对高能效低功耗的神经网络需求增加。通过网络的优化调整,神经网络的逐层精度优化可以大大降低计算复杂度。然而,多精度神经网络的计算需要定制的硬件电路来支持,因为单精度处理器在计算混合精度时会浪费大量资源,而多精度神经网络处理器在电路级支持多精度,计算可以得到比单精度处理器更高的利用率,但是现有技术中的多精度计算无法平衡低计算成本消耗和更高速度的要求。
[0003]因此,现有技术还有待改进和发展。

技术实现思路

[0004]本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于脉动阵列的多精度加速器及其数据处理方法,旨在解决现有技术中多精度计算无法平衡低计算成本消耗和更高速度的要求的问题。
[0005]本专利技术解决问题所采用的技术方案如下:
[0006]第一方面,本专利技术实施例提供一种多精度加速器的数据处理方法,其中,所述方法包括:
[0007]获取输入数据的数据精度;其中,所述数据精度用于表征数据位数;
[0008]根据所述数据精度和所述输入数据,确定与所述输入数据对应的分段数据;
[0009]将所述分段数据映射到乘法器单元组,并通过多精度加速器对所述分段数据进行乘累加运算。
[0010]在一种实现方式中,所述根据所述数据精度和所述输入数据,确定与所述输入数据对应的分段数据包括:
[0011]基于预设的位宽基本单元,将所述数据精度除以所述位宽基本单元,得到除数;
[0012]基于所述除数,将所述输入数据按照从高位到低位的顺序进行依次划分,得到分段数据。
[0013]在一种实现方式中,所述将所述分段数据映射到乘法器单元组,并通过多精度加速器对所述分段数据进行乘累加运算包括:
[0014]将所述分段数据输入至所述乘法器单元组中与所述分段数据对应的乘法器中,并通过多精度加速器对所述分段数据进行乘法及累加运算。
[0015]第二方面,本专利技术实施例还提供一种基于多精度加速器的数据处理方法的基于脉动阵列的多精度加速器,其中,包括:数据接口,用于接收总线上的外部命令;
[0016]控制单元,与所述数据接口通讯连接,且用于接收所述外部命令,并根据所述外部
命令对所述多精度加速器进行控制;
[0017]脉动乘法阵列,与所述控制单元通讯连接,且用于对输入数据进行混合精度计算;
[0018]缓冲器,与所述脉动乘法阵列通讯连接,且用于对数据进行缓存。
[0019]在一种实现方式中,所述脉动乘法阵列包括若干脉动阵列乘法单元。
[0020]在一种实现方式中,所述脉动阵列乘法单元包括若干乘法器单元组和若干移位累加器。
[0021]在一种实现方式中,所述乘法器单元组由若干乘法器组成。
[0022]在一种实现方式中,所述移位累加器用于将乘法器单元组中输出数据进行累加并将累加后得到的值进行移位。
[0023]第三方面,本专利技术实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的多精度加速器的数据处理方法。
[0024]第四方面,本专利技术实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的多精度加速器的数据处理方法。
[0025]本专利技术的有益效果:本专利技术实施例首先获取输入数据的数据精度;其中,所述数据精度用于表征数据位数;然后根据所述数据精度,确定乘累加运算模式;最后基于所述乘累加运算模式,将所述输入数据映射到乘法器单元组,并通过多精度加速器对所述输入数据进行乘累加运算;可见,本专利技术实施例中根据输入数据的数据精度确定出不同的乘累加运算模式,然后将输入数据按照乘累加运算模式映射到乘法器单元组,再通过多精度加速器对所述输入数据进行乘累加运算,可以以较少内存带宽消耗实现更高吞吐量的乘累加运算。
附图说明
[0026]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本专利技术实施例提供的多精度加速器的数据处理方法流程示意图。
[0028]图2为本专利技术实施例提供的一种实现方式的加速器双脉动阵列结构。
[0029]图3为本专利技术实施例提供的一种实现方式的PE三种计算模式设计原理图。
[0030]图4为本专利技术实施例提供的一种实现方式的三种计算模式下PE内部数据流示意图。
[0031]图5为本专利技术实施例提供的智能终端的内部结构原理框图。
具体实施方式
[0032]本专利技术公开了一种基于脉动阵列的多精度加速器及其数据处理方法,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说
明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0033]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0034]本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0035]由于现有技术中,在加速器架构层面,谷歌提出了一种脉动阵列架构,可以用来加速卷积计算TPU(张量处理单元),将卷积数据转换成矩阵数据进行运算。然而谷歌TPU只能支持8位定点数计算,无法满足多精度加速器的要求。
[0036]目前多精度加速器的基本MAC单元按设计思想可分为位并行和位串行两类:位并行在空间上进行扩展,位串行在时间上进行扩展,位并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多精度加速器的数据处理方法,其特征在于,所述方法包括:获取预设的输入数据的数据精度;其中,所述数据精度用于表征数据位数;根据所述数据精度和所述输入数据,确定与所述输入数据对应的分段数据;将所述分段数据映射到乘法器单元组,并通过多精度加速器对所述分段数据进行乘累加运算。2.根据权利要求1所述的多精度加速器的数据处理方法,其特征在于,所述根据所述数据精度和所述输入数据,确定与所述输入数据对应的分段数据包括:基于预设的位宽基本单元,将所述数据精度除以所述位宽基本单元,得到除数;基于所述除数,将所述输入数据按照从高位到低位的顺序进行依次划分,得到分段数据。3.根据权利要求1所述的多精度加速器的数据处理方法,其特征在于,所述将所述分段数据映射到乘法器单元组,并通过多精度加速器对所述分段数据进行乘累加运算包括:将所述分段数据输入至所述乘法器单元组中与所述分段数据对应的乘法器中,并通过多精度加速器对所述分段数据进行乘法及累加运算。4.一种用于实现权利要求1

3任一项所述的多精度加速器的数据处理方法的基于脉动阵列的多精度加速器,其特征在于,包括:数据接口,用于接收总线上的外部命令;控制单元,与所述数据接口通讯连接,且用于接收所述外部命令,并根据所述外部命令对所述多精度加速器进行控制;脉动乘法阵列,与所述...

【专利技术属性】
技术研发人员:毛伟余浩杜来民李博宇刘俊罗少波
申请(专利权)人:南方科技大学
类型:发明
国别省市:

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

1