The invention discloses a method for recurrent neural network multi LSTM computing unit coarse-grained reconfigurable computing system and method, bias and array matrix product system, used for calculation and accumulation of multiple matrix vector product of recurrent neural network in operation is controlled by a control signal of biased calculation, the output value from the output cache the output unit activation; fitting calculation for array, recurrent neural network LSTM activation function piecewise linear fitting function, when the input value into the input buffer unit, activate the fitting calculation unit is composed of a control signal to control the activation function of the piecewise linear fitting calculation, the output value of output via an output buffer unit; vector calculation for array. According to the calculation of dimension vector multiplication and vector addition, multiplication calculation is completed, is controlled by a control signal to transmit data The invention can improve the parallelism, the computation speed and the array utilization rate of the reconfigurable system.
【技术实现步骤摘要】
递归神经网络的多计算单元粗粒度可重构系统及方法
本专利技术涉及一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统及方法,属于嵌入式可重构系统领域。
技术介绍
近年来,随着微电子技术、计算机技术的发展,尤其是大规模高性能的可编程器件的出现、软硬件设计方法和设计工具上的改进,实时电路重构技术逐渐成为国际上计算系统研究中的一个新热点。它的出现使过去传统意义上硬件和软件的界限变得模糊,让硬件系统软件化。实时电路重构的本质是利用可编程器件可多次重复配置逻辑状态的特性,在运行时根据需要动态改变系统的电路结构,从而使系统兼具灵活、简捷、硬件资源可复用、易于升级等多种优良性能。现有的神经网络硬件计算加速方法主要有GPU、FPGA或ASIC加速芯片。GPU计算具有极高的并行性,但是利用GPU并行计算需要的程序代码更加复杂,并行程序的进程管理也增加了工作量,且GPU计算所需功耗大;FPGA灵活性强,提高了数字电路重复利用性功耗高,功耗同样较大;ASIC功耗及面积开销最小,计算速度最快,但投片价格高,从设计到使用需要很长时间。神经网络,尤其是递归神经网络LSTM中包含大量矩阵及向量运算,且网络结构多变,对电路的并行计算能力和电路灵活性具有很高的要求,粗粒度可重构芯片的优点是硬件设计的实现基于软件的灵活性,保持了传统的基于硬件方法的执行速度,及体系结构可变的特点,很好地适应了递归神经网络LSTM的计算要求,相对于ASIC来说,设计简单,开发周期短,相对于GPU和FPGA来说,在保留了计算并行度和电路灵活性的基础上,降低了功耗开销。
技术实现思路
专利技术目的:针对现有技术中存在 ...
【技术保护点】
一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统,包括片上共享存储单元、数据交换存储单元、片上配置信息存储器、重构控制器,其特征在于,还包括:多矩阵积偏置和计算阵列、激活拟合计算阵列、向量计算阵列,完成递归神经网络LSTM的计算;多矩阵积偏置和计算阵列从外部存储器获取递归神经网络LSTM的权重参数和网络输入,计算结果传输至激活拟合计算阵列进行激活操作,得到LSTM网络各门值,再由向量计算阵列计算最终输出。
【技术特征摘要】
1.一种面向递归神经网络LSTM的多计算单元粗粒度可重构系统,包括片上共享存储单元、数据交换存储单元、片上配置信息存储器、重构控制器,其特征在于,还包括:多矩阵积偏置和计算阵列、激活拟合计算阵列、向量计算阵列,完成递归神经网络LSTM的计算;多矩阵积偏置和计算阵列从外部存储器获取递归神经网络LSTM的权重参数和网络输入,计算结果传输至激活拟合计算阵列进行激活操作,得到LSTM网络各门值,再由向量计算阵列计算最终输出。2.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述多矩阵积偏置和计算阵列,用于实现递归神经网络LSTM中多个矩阵向量积的计算及累加的运算,在累加计算完成后,由重构控制器输出的控制信号控制进行加偏置计算,输出值经由多矩阵积偏置和计算阵列的输出缓存单元输出。3.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述激活拟合计算阵列,用于实现递归神经网络LSTM中激活函数的分段线性拟合计算功能,当输入值进入激活拟合计算阵列的输入缓存单元,激活拟合计算阵列的激活拟合计算单元由重构控制器输出的控制信号控制进行相应的激活函数分段线性拟合计算,输出值经由激活拟合计算阵列的输出缓存单元输出。4.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述向量计算阵列,用于实现向量按维相乘和向量加法计算,向量计算阵列的乘法单元计算完毕后,由重构控制器输出的控制信号控制将数据传输到向量加法单元或直接输出到向量计算阵列的输出缓存单元。5.如权利要求1所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述片上共享存储单元,用于实现片上数据的存储;所述数据交换存储单元,用于实现阵列间数据的交换;所述片上配置信息存储器,用于实现配置信息的存储;所述重构控制器,用于实现可重构阵列的配置控制。6.如权利要求1或2所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述多矩阵积偏置和计算阵列为多个,多个多矩阵积偏置和计算阵列并行工作,每个多矩阵积偏置和计算阵列包括权值缓存单元、偏置缓存单元、输入寄存器、矩阵向量积计算单元、累加计算单元、累加寄存器;权值缓存单元,用于权值数据的输入,带宽为d*16bit,d为神经网络每层的LSTM单元个数;偏置缓存单元,用于偏置数据的输入,最大存储量为N*16bit,N为所述可重构系统并行计算的LSTM单元数;输入寄存器,用于输入向量的存储,最大存储量为d*16bit;矩阵向量积计算单元,从权值缓存单元和输入寄存器读取所需计算数据,用于计算N行d列矩阵和d维向量的积;累加计算单元,根据不同的控制信号,用于计算多个矩阵向量积的累和或用于计算累加值和偏置值的和;累加寄存器,用于累加值的存储,最大存储量为N*16bit;输出缓存单元,用于累加计算单元最终计算结果数据的输出,带宽为N*16bit。7.如权利要求1或3所述的面向递归神经网络LSTM的多计算单元粗粒度可重构系统,其特征在于,所述激活拟合计算阵列为多个,多个激活拟合计算阵列并行工作,每个激活拟合计算阵列包括输入缓存单元、多个激活拟合计算单元、输出缓存单元、配置广播单元;激活拟合计算阵列用于门值的激活计算,从外部存储器中读取的未经激活的门值,存储在激活输入缓存单元中,以供激活拟合计算单元进行激活拟合计算,计算结果经由激活输出缓存单元输出;输入缓存单元,用于权值数据的输入,带宽为2N*16bit;输出缓存单元,用于数据的输出,带宽为2N*16bit;2N个激活拟合计算单元,根据不同的控制信号...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。