首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种用于卷积神经网络推理的数据重用及运算硬件加速器 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:复旦大学

摘要:本发明属于集成电路技术领域,具体为一种用于卷积神经网络推理的数据重用及运算硬件加速器。本发明电路包括:运算单元阵列、片上数据分发网络和收集网络、用于输入特征图中间缓存的行缓冲及相关的读写控制逻辑、用于输出部分和缓存的累加和缓冲及相关的读写控制逻辑。该加速器采用多级缓存和高效数据流实现对权重数据的时间维度重用、对于输入特征图的时间空间维度重用、对于输出特征图的时间维度重用,减少了卷积运算的数据搬运需求和运算功耗。该加速器采用灵活的运算单元阵列设计,可重构地实现多种卷积算子、多种超参数的卷积运算,有良好的可拓展性。该加速器采用片上缓存策略,可以减少片外数据交互,降低系统总线带宽压力。

主权项:1.用于卷积神经网络推理的数据重用及运算硬件加速器,其特征在于,用于执行2D卷积算子、组卷积算子、深度可分离卷积算子及计算行为类似的变体卷积算子;对卷积计算中各参数定义如下:输入特征图大小为Hi×Wi,输入通道数为IC;权重核大小为Kh×Kw,权重输入通道为IC,与特征图输入通道相等,权重核个数为OC;输出特征图大小为Ho×Wo,特征图输出通道数为OC,与权重核个数相等;块运算过程中,运算单元阵列每行计算TIC个输入通道的部分和,每列计算TOC个输出通道的部分和;硬件加速器结构包括运算单元及由其组织形成的阵列、片上数据分发网络和收集网络、用于输入特征图中间缓存的行缓冲及相关的第一读写控制逻辑、用于输出部分和缓存的累加和缓冲及相关的第二读写控制逻辑;其中:所述第一读写控制逻辑,负责对卷积运算中的输入特征图进行缓存;行缓冲在整个硬件架构中的位置为片上或片外存储器与片上数据分发网络之间,在运算单元阵列加载输入特征图的过程中,输入特征图中的像素值被加载到行缓冲中进行存储,之后像素值被输出给片上数据分发网络,进而用于运算单元阵列的卷积计算输入;行缓冲大小为TIC×Kh×Wi,意为:对输入特征图中TIC个相邻输入通道的每Kh个相邻行中的像素值进行缓存,每行的像素值有Wi个;所述片上分发网络,负责对行缓冲的输出数据进行排序,之后将输入特征图按规则分发给运算单元阵列;在当前块的运算阶段,输入特征图在被加载到行缓冲的同时,行缓冲输出TIC×Kh个值给片上分发网络,该输入数据为TIC个输入通道,每个输入通道的特征图中的Kh行1列像素值;片上分发网络对行缓冲的输出数据进行重新排序,使每个运算单元单周期获得的数据来自各个输入通道,之后以广播形式输出给运算单元阵列;所述运算单元阵列,负责卷积运算的乘累加操作;运算单元为加法树结构,每个叶节点为1个乘法器,共有TIC个乘法器;运算单元阵列由Hn×Wn个运算单元排列组成,其中Hn=Kh,Wn=Kw×TOC,每周期可以执行TIC个输入通道,TOC个输出通道中Kh×Kw卷积滑动窗口的乘累加运算;整个运算单元阵列维护有2×TIC×TOC×Kh×Kw个权重寄存器,负责存放来自片上分发网络预取的权重数据;权重寄存器实际硬件包含当前工作寄存器和影子寄存器共2套,采用乒乓缓冲的方式运转,以实现如下功能:对后续下一次块运算输入权重的预取影子权重寄存器中完成和当前块运算输入权重供给运算单元阵列当前工作权重寄存器中完成可以分别独立进行;每周期每个运算单元接受来自片上分发网络的输入特征图以及来自权重寄存器的输入权重,进行乘累加计算生成部分和,部分和经过后续加法树累加后,与来自上一行运算单元的部分和输出累加,从运算单元中输出,给到下一行运算单元;运算单元阵列在行方向上共享输入特征图数据,在列方向上以累加的方式向下将当前行的部分和传递给下一行;所述片上收集网络,负责对运算单元阵列中每列的部分和输出进行正确聚合,并将输出的部分和写入;在运算单元阵列完成对权重与输入特征图的乘累加运算之后,每Kw列的生成部分和向下累加从运算单元阵列输出,并最终经过片上收集网络生成1个Kh×Kw卷积滑动窗口的部分和;片上收集网络的输入以Kw列为一组,以脉动累加的形式进行部分和收集;片上收集网络实现部分和选通逻辑,保证卷积运算起始与结束阶段的累加逻辑正确;片上收集网络的累加完成后,将输出部分和与累加和缓冲中的已累加部分和相加,结果保存回累加和缓冲;所述第二读写控制逻辑,负责储存输出特征图像素值对应的累加和;每周期运算单元阵列运算输出一部分累加和,每个输出特征图的像素值对多周期运算单元阵列计算的结果进行累加;在这个过程完成之前,累加和缓冲将暂存部分累加和,并在输出特征图对应的所有块运算结果累加完成时给出有效数据和相关信号,将结果输出给片上或片外存储;所述神经网络中,某一层卷积运算按顺序被拆分为多次块运算,每次块运算之间相互独立;输入特征图和权重输入硬件,运算单元阵列进行乘累加运算,及输出特征图输出硬件的过程均按照该顺序实现。

全文数据:

权利要求:

百度查询: 复旦大学 一种用于卷积神经网络推理的数据重用及运算硬件加速器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。