一种支持向量多序列运算的神经网络加速器及加速装置制造方法及图纸

技术编号:34408616 阅读:76 留言:0更新日期:2022-08-03 21:57
本发明专利技术提供了一种支持多序列运算的神经网络加速器及加速装置。本发明专利技术的神经网络加速器包括至少一个多序列处理装置,每个所述多序列处理装置包括运算功能模块和数据连接管理单元,所述运算功能模块包括:至少一个乘法运算模块、至少两个加法运算模块、至少一个寄存器模块、一个逻辑运算模块以及一个激活函数运算模块。本发明专利技术针对神经网络架构对非网络视觉算法任务算子的低效处理问题,提出了一种能够执行多种非神经网络算子以及支持多种向量序列操作的神经网络加速器架构。通过设计可线上配置数据操作序列的处理单元,并组合为相应的并行阵列,以实现多种视觉算法并行操作的兼容以及计算效率的提升。以及计算效率的提升。以及计算效率的提升。

【技术实现步骤摘要】
一种支持向量多序列运算的神经网络加速器及加速装置


[0001]本专利技术涉及计算机领域,尤其涉及神经网络处理器领域。

技术介绍

[0002]随着神经网络模型在机器人视觉领域的部署,使各视觉任务的预测效果相比于传统方法有了显著的提升。然而神经网络模型所带来的极大算量载荷,阻碍了其算法在算力与能耗资源受限终端设备上部署。神经网络加速器成为了一种在终端加速该模型算法的典型加速器,其以高能效特点嵌入值终端设备完成并行运算。
[0003]然而随着终端设备视觉算法与任务复杂度的提升,各任务包含多样性的向量数据操作及运算顺序。当前经典的乘法与加法运算以及其计算顺序已难以在计算效率和运算兼容性上保证其优势。
[0004]而现有的神经网络架构又难以在同一个处理装置内调整其架构而实现运算顺序的改变。

技术实现思路

[0005]本专利技术针对上述问题,提出了一种支持多序列运算的神经网络加速器,其采用一种新型的神经网络加速器架构,可执行多种非神经网络算子并且支持多种向量序列操作。通过设计可线上配置数据操作序列的处理单元,并组合为相应的并行阵列,以实现多种视觉算法并行操作的兼容以及计算效率的提升。本专利技术的神经网络加速器可以应用于图像处理过程中的向量数据的并行运算加速,以及神经网络处理器在计算机视觉任务处理中的硬件加速,可以显著提升运算效率。
[0006]具体而言,本专利技术提供一种支持向量多序列运算的神经网络加速器,所述神经网络加速器包括至少一个多序列处理装置,每个所述多序列处理装置包括运算功能模块和数据连接管理单元,所述运算功能模块包括:至少一个乘法运算模块、至少两个加法运算模块、至少一个寄存器模块、一个逻辑运算模块以及一个激活函数运算模块,
[0007]所述数据连接管理单元包括多个选通器和交互连接网络,每个运算功能模块的前端配置一个选通器并与相应选通器通信连接,各个选通器的输入端口和输出端口分别连接至所述交互连接网络,所述交互连接网络用于接收至少两路输入信号并将所述输入信号以及各个运算功能模块的输出信号按预定顺序在各个运算功能模块前端的选通器之间传输。
[0008]在一种优选实现方式中,所述数据连接管理单元基于任务序列中的计算顺序控制各个选通器的开启顺序。
[0009]在另一种优选实现方式中,所述输入信号包括三路输入信号,至少两路输入信号连接至所述乘法运算模块前端的选通器,并且至少两路输入信号连接至第一加法运算模块前端的选通器,另一路信号连接至第二加法运算模块前端的选通器。
[0010]在另一种优选实现方式中,所述乘法运算模块、加法运算模块、所述逻辑运算模块、所述激活函数运算模块的输出分别连接至所述寄存器模块前端的选通器,所述寄存器
模块的输出分别连接至所述乘法运算模块、加法运算模块、所述逻辑运算模块、所述激活函数运算模块前端的选通器。
[0011]在另一种优选实现方式中,所述逻辑运算模块包括



操作单元、



操作单元、



操作单元、

异或

操作单元、

对比

操作单元、

移位

操作单元中的一种或多种。
[0012]在另一种优选实现方式中,所述数据连接管理单元包括控制回路,所述控制回路连接至每个选通器的控制端口,用于分别对各个选通器进行选通控制。
[0013]在另一种优选实现方式中,神经网络加速器包括多个多序列处理装置,多个多序列处理装置组成运算阵列,神经网络加速器的输入数据和输出数据为向量数据,所述运算阵列中的每个多序列处理装置用于处理所述向量数据的一维数据。
[0014]根据本专利技术的另一方面,提供了一种神经网络加速装置,其特征在于,所述神经网络加速装置包括数据传输模块、指令解析模块、数据管理模块、片上缓存以及多序列运算阵列,所述数据传输模块用于接收外部输入数据,输入至所述多序列运算阵列并将运算结果进行对外输出,所述数据管理模块用于管理片上缓存模块与所述多序列运算阵列以及所述数据管理模块与所述传输模块之间的数据传输,所述指令解析模块用于基于外部指令生成运算序列,所述多序列运算阵列用于基于所述运算序列对输入数据进行相应运算。
[0015]根据本专利技术的另一方面,提供了一种所述神经网络加速装置的控制方法,其特征在于,所述方法包括:
[0016]步骤1、利用所述数据传输模块从外部接收执行指令,所述指令解析模块基于执行指令解析控制指令,将解析的控制指令传递至数据管理模块以及各多序列处理装置;
[0017]步骤2、所述数据管理模块基于控制指令来控制数据传输模块从外部输入待处理数据以及处理参数,暂存于所述片上缓存模块;
[0018]步骤3、所述数据管理模块控制所述片上缓存模块将数据传输至多序列运算阵列,所述多序列运算阵列中的每个多序列运算处理装置分别根据各自的运算顺序执行多序列运算,将运算结果存回在片上缓存模块;
[0019]步骤4、所述数据管理模块控制所述数据传输模块从所述片上缓存模块将运算结果对外输出。
[0020]需要说明的是,当数据连接管理单元连接的运算、存储、操作单元或模块个数增加时,其选通器将与对应单元或模块数对应。
[0021]与现有技术相比,本专利技术的优点在于:
[0022]本专利技术提供的神经网络加速器可利用多序列处理装置的多个组合,以实现向量的多种运算序列,包括但不限于乘法,加法,逻辑操作三种运算的自由顺序组合;提升了基于神经网络架构针对其他视觉任务中向量运算的兼容性与高效性。
[0023]本专利技术的神经网络加速器可以在同一个网络加速器内,实现多种不同的运算顺序组合,并且,对于同一个网络加速器中的一个多序列处理装置,可以改变其所执行的运算组合的运算顺序。
附图说明
[0024]以下参照附图对本专利技术实施例作进一步说明,其中:
[0025]图1是本专利技术一个实施例的神经网络加速器中一个多序列处理装置组成框图;
[0026]图2是本专利技术一个简化实施例的多序列处理装置连接原理图;
[0027]图3是本专利技术的一个实施例的多序列运算阵列原理图;
[0028]图4是本专利技术的一个实施例的多序列运算加速器原理图;
[0029]图5是本专利技术的一个实施例的多序列运算加速器控制方法流程图;
具体实施方式
[0030]为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0031]本实施例中提供的神经网络加速器包括若干多序列处理装置,每个多序列处理装置独立控制,可以分别执行不同的运算序列,进而基于外部控制信号实现向量的各种不同类型的多序列运算处理。
[0032]如图1所示为本实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持向量多序列运算的神经网络加速器,其特征在于,所述神经网络加速器包括至少一个多序列处理装置,每个所述多序列处理装置包括运算功能模块和数据连接管理单元,所述运算功能模块包括:至少一个乘法运算模块、至少两个加法运算模块、至少一个寄存器模块、一个逻辑运算模块以及一个激活函数运算模块,所述数据连接管理单元包括多个选通器和交互连接网络,每个运算功能模块的前端配置一个选通器并与相应选通器通信连接,各个选通器的输入端口和输出端口分别连接至所述交互连接网络,所述交互连接网络用于接收至少两路输入信号并将所述输入信号以及各个运算功能模块的输出信号按预定顺序在各个运算功能模块前端的选通器之间传输。2.根据权利要求1所述的神经网络加速器,其特征在于,所述数据连接管理单元基于任务序列中的计算顺序控制各个选通器的开启顺序。3.根据权利要求1所述的神经网络加速器,其特征在于,所述输入信号包括三路输入信号,至少两路输入信号连接至所述乘法运算模块前端的选通器,并且至少两路输入信号连接至第一加法运算模块前端的选通器,另一路信号连接至第二加法运算模块前端的选通器。4.根据权利要求3所述的神经网络加速器,其特征在于,所述乘法运算模块、加法运算模块、所述逻辑运算模块、所述激活函数运算模块的输出分别连接至所述寄存器模块前端的选通器,所述寄存器模块的输出分别连接至所述乘法运算模块、加法运算模块、所述逻辑运算模块、所述激活函数运算模块前端的选通器。5.根据权利要求1所述的神经网络加速器,其特征在于,所述逻辑运算模块包括



操作单元、



操作单元、



操作单元、

异或

操作单元、
...

【专利技术属性】
技术研发人员:闵丰许浩博王郁杰王颖邹兴奇韩银和
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1