一种可重构神经网络算法的加速装置制造方法及图纸

技术编号:21839834 阅读:31 留言:0更新日期:2019-08-10 20:58
本实用新型专利技术公开了一种可重构神经网络算法的加速装置,属于芯片设计领域。针对现有技术中存在的加速器不灵活,仅仅为了加速一个固定配置的网络而设计,对其他结构网络的加速性能不佳或者根本不支持的问题,本实用新型专利技术提供了一种可重构神经网络算法的加速装置及方法,通过分析多种不同神经网络算法的特性和共性,将算法高效映射到可重构硬件上。重构控制器通过接收到的配置信息,为不同的神经网络算法重构特定数据通路,并控制其运算过程,算法特定的优化,以达到其最优性能。灵活支持不同大小不同种类的神经网络算法,有效增大资源利用率,提高运算速度和吞吐率,降低功耗。

An Accelerating Device for Reconfigurable Neural Network Algorithms

【技术实现步骤摘要】
一种可重构神经网络算法的加速装置
本技术涉及芯片设计领域,更具体地说,涉及一种可重构神经网络算法的加速装置。
技术介绍
当前针对神经网络算法进行加速的主流硬件平台有通用的CPU、DSP、专用芯片(ASIC)、FPGA以及可重构处理器。目前,在包括计算机视觉、语音识别和机器人在内的许多人工智能领域中,神经网络算法,例如深度神经网络(DNN)、循环神经网络(RNN)、卷积神经网络(CNN)、长短期记忆网络(LSTM)得到广泛应用。其中,深度神经网络算法在很多人工智能任务中具有最佳的准确度,但同时随着网络规模越来越大,参数越来越多,计算复杂度不断增大。因此,能对深度神经网络算法进行高效处理并且提升能量效率和吞吐量,同时又能保证准确度和减小硬件开销的硬件实现技术是保证其能够在人工智能系统中广泛应用的关键。相较而言,CPU处理速度慢,运行大规模的深度学习网络效率低,无法满足性能需求。尽管GPU和FPGA对于深度神经网络的计算的加速效果显著,但是它们都有共同缺点就是功耗大,能效低,而这一问题可通过一些专用的加速器来解决。在近期工作中,有一些ASIC加速器与可编程的GPU和FPGA相比表现出更高的能效。但是这些定制的加速器不灵活,仅仅为了加速一个固定配置的网络而设计,对其他结构网络的加速性能不佳或者根本不支持。现有的也有相应的一些可兼容的神经网络加速方式,如中国专利申请,申请号201711131564.9,公开日2018年3月20日,公开了一种高兼容性可编程神经网络加速阵列。该阵列采用可重构性架构,包含一个中央控制器、一个特征向量发射器以及若干个神经网络计算单元片;所述计算单元片含有可编程乘加单元、可编程激活单元、单元片控制器等基本的神经网络计算模块,加速阵列通过可编程通信路由进行任意单元片间的通信。该可编程神经网络加速阵列可兼容多种神经网络算法,同时又不失去高能效,适合应用于各类深度学习智能系统中。但是其重构效率低,速度不足,又如中国专利申请,申请号201810084089.2,公开日2018年7月3日,公开了一种可重构神经网络加速方法及架构,通过输入缓存单元、权重缓存单元、卷积计算核单元及输出缓存单元的架构,分别采用输入数据复用、输出数据复用及权重数据复用的模式,通过卷积计算核单元将读取的输入数据与卷积核进行卷积运算,生成输出数据的方法。此申请通过逐层加速的策略来应对层数多样的神经网络,并使用循环变换的方法来优化神经网络加速,达到了减少对Buffer以及DRAM的访问次数,解决了现有技术中访问存储器的次数多造成功耗浪费的问题,具有降低能耗,使PE阵列的硬件资源利用率最大化的有益效果。但是其结构复杂,成本高,适用范围不广。为了解决上述问题,硬件要能支持一定范围的可配置,即在一个合理的可选择范围内,硬件在一系列配置之间进行重构,是需要解决的问题。
技术实现思路
1.要解决的技术问题针对现有技术中存在的加速器不灵活,仅仅为了加速一个固定配置的网络而设计,对其他结构网络的加速性能不佳或者根本不支持的问题,本技术提供了一种可重构神经网络算法的加速装置,它可以实现多种神经网络算法的可重构加速核实现架构,支持面广,配置方便。2.技术方案本技术的目的通过以下技术方案实现。一种可重构神经网络算法的加速装置,包括存储器模块、存储控制器模块,存储控制器模块对存储器模块进行控制,并通过总线接口模块与DMA模块传输信息;总线接口模块与调度器模块连接,调度器模块与DMA模块互相连接,DMA模块与SRAM传送数据,SRAM通过SRAM控制器模块进行控制,MemorySwitch模块与SRAM控制器模块控制运算单元与SRAM控制器模块进行交互;重构控制器模块,对运算单元进行控制,通过配置信息对神经网络算法重构数据通路,并控制神经网络算法在运算单元的运算。更进一步的,所述的运算单元由超越计算单元和脉动阵列组成,其中超越计算单元由若干exp函数组成,用于非线性激活函数的实现。更进一步的,所述的脉动阵列中包括n*n个NCU,n为不小于8的自然数。更进一步的,脉动阵列中包括32*32个NCU。更进一步的,每个NCU包括一个乘法器、一个加法器及若干寄存器组成,数据经由乘法器相乘,得出的结果送入加法器中进行累加,寄存器主要用于存放累加过程中的部分和、源数据1、2和本地结果。更进一步的,脉动阵列的接口为:32个源数据1输入接口、32个源数据2输入接口、1个设定乘累加计算长度的接口、1个输入数据有效信号、1个激活函数选择信号、32个结果数据输出接口、1个结果输出有效信号,其中结果输出有效信号以某段时间内所有输出数据有效输出为准。该阵列接口的输入配置信和控制信息有两个来源。更进一步的,SRAM控制模块用于在MemorySwitch模块功能完成后,控制神经网络算法源数据1、2和结果数据在DMA和SRAM之间的传输。3.有益效果相比于现有技术,本技术的优点在于:通过分析多种不同神经网络算法的特性和共性,将算法高效映射到可重构硬件上。重构控制器通过接收到的配置信息,为不同的神经网络算法重构数据通路,并控制其运算过程。重构控制器通过接收到的配置信息,每个算法都经过特定的优化,以达到其最优性能。灵活支持不同大小不同种类的神经网络算法,有效增大资源利用率,提高运算速度和吞吐率,降低功耗。附图说明图1是可重构神经网络算法加速装置示意图;图2是脉动阵列结构示意图;图3是卷积神经网络算法实现过程中数据流动示意图。具体实施方式下面结合说明书附图和具体的实施例,对本技术作详细描述。实施例1为了解决加速器不灵活,仅仅为了加速一个固定配置的网络而设计,对其他结构网络的加速性能不佳或者根本不支持的问题,本专利技术提供了面向多种神经网络算法的可重构加速核实现架构。如图1所示,对应设计了一种可重构神经网络算法的加速装置,一种可重构神经网络算法硬件实现,包括存储器模块、存储控制器模块、总线接口、DMA模块、调度器模块、重构控制器模块、SRAM、SRAM控制模块、MemorySwitch模块、运算单元,运算单元包括脉动阵列运算单元和超越运算单元。总线接口模块与调度器模块连接,调度器模块与DMA模块互相连接,DMA模块与SRAM传送数据,SRAM通过SRAM控制器模块进行控制,SRAM控制模块用于控制神经网络算法源数据1、2和结果数据的传输。MemorySwitch模块与SRAM控制器模块控制运算单元与SRAM控制器模块进行交互;重构控制器模块,对运算单元进行控制,在运算结束后发送中断请求完成与外部系统的交互,通过接收到的配置信息,通过分析多种不同神经网络算法的特性和共性,将算法高效映射到可重构硬件上,为不同的神经网络算法重构数据通路,并控制神经网络算法在运算单元的运算。每个算法都经过特定的优化,以达到其最优性能。通过分析多种神经网络算法的共性,特征可拆分为以下运算颗粒:卷积运算、矩阵乘法以及非线性计算,如tanh()、ReLU()等激活函数。各种神经网络算法的特性在于这些基本运算的不同组合方式。运算单元阵列对神经网络算法拆分为若干卷积运算、矩阵乘法以及非线性计算,对神经网络算法进行重构映射。参照图3,所述的脉动阵列的脉动方式为,从上往下广播源数据1,一般情况下为权重本文档来自技高网
...

【技术保护点】
1.一种可重构神经网络算法的加速装置,其特征在于:包括存储器模块、存储控制器模块,存储控制器模块对存储器模块进行控制,并通过总线接口模块与DMA模块传输信息;总线接口模块与调度器模块连接,调度器模块与DMA模块互相连接,DMA模块与SRAM传送数据,SRAM通过SRAM控制器模块进行控制,Memory Switch模块与SRAM控制器模块控制运算单元与SRAM控制器模块进行交互;重构控制器模块,对运算单元进行控制,通过配置信息对神经网络算法重构数据通路,并控制神经网络算法在运算单元的运算。

【技术特征摘要】
1.一种可重构神经网络算法的加速装置,其特征在于:包括存储器模块、存储控制器模块,存储控制器模块对存储器模块进行控制,并通过总线接口模块与DMA模块传输信息;总线接口模块与调度器模块连接,调度器模块与DMA模块互相连接,DMA模块与SRAM传送数据,SRAM通过SRAM控制器模块进行控制,MemorySwitch模块与SRAM控制器模块控制运算单元与SRAM控制器模块进行交互;重构控制器模块,对运算单元进行控制,通过配置信息对神经网络算法重构数据通路,并控制神经网络算法在运算单元的运算。2.根据权利要求1所述的一种可重构神经网络算法的加速装置,其特征在于:所述的运算单元由超越计算单元和脉动阵列组成,其中超越计算单元由若干exp函数组成,用于非线性激活函数的实现。3.根据权利要求2所述的一种可重构神经网络算法的加速装置,其特征在于:所述的脉动阵列中包括n*n个NCU,n为不小于8的自然数。4.根据权利要求3所...

【专利技术属性】
技术研发人员:李丽陈沁雨何书专曹华锋
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:新型
国别省市:江苏,32

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

1