[发明专利]一种加速神经网络计算的多NPU级联结构在审
申请号: | 202210924133.2 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115374920A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 赵文哲;胡康;党祺玮;马澄宇;黄静雯;夏天;任鹏举 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 覃婧婵 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加速 神经网络 计算 npu 级联 结构 | ||
1.一种加速神经网络计算的多NPU级联结构,包括:
多个神经网络计算单元NPU,多个块存储器block memory,一个直接存储器存取DMA和一个主存储器DDR,该级联结构能够使所述多个神经网络计算单元NPU并行计算,只有神经网络构建模块的输入和输出需要访存主存储器。
2.根据权利要求1所述的多NPU级联结构,其中,优选的,该级联结构用于加速Bottleneck Residual Block神经网络构建模块。
3.根据权利要求2所述的多NPU级联结构,其中,所述Bottleneck Residual Block结构包括两个分支,一侧是三层卷积计算,另一侧是直连shortcut,所述三层卷积计算包括1*1的Conv层、3*3的DWConv层和1*1的Conv层。
4.根据权利要求2所述的多NPU级联结构,包括三个神经网络计算单元NPU,三个块存储器block memory,一个直接存储器存取DMA和一个主存储器DDR。
5.根据权利要求4所述的多NPU级联结构,其中,所述三个神经网络计算单元NPU分别为NPU0、NPU1和NPU2,其中,NPU0用于计算右侧第一层Conv,NPU1用于计算右侧第二层DWConv,NPU2用于计算右侧第三层Conv以及将右侧第三层计算结果与输入相加。
6.根据权利要求4所述的多NPU级联结构,其中,所述三个块存储器block memory为存储Bottleneck Residual Block神经网络构建模块输入特征图feature map的fm0,存储右侧第一层Conv结果和右侧第二层DWConv的结果的fm1,以及存储右侧第三层Conv结果与输入特征图feature map相加后的结果的fm2。
7.根据权利要求4所述的多NPU级联结构,其中,所述DMA在块存储器block memory与主存储器之间传送数据。
8.根据权利要求4所述的多NPU级联结构,其中,所述DDR存储神经网络所需参数。
9.根据权利要求1所述的多NPU级联结构,其中,该级联结构中:所述多个神经网络计算单元NPU是用于并行计算,除神经网络构建模块的输入和输出需要访存主存储器之外,该级联结构中无其他模块或结构需要访存主存储器。
10.采用如权利要求4所述的多NPU级联结构进行加速计算的方法,其包括如下步骤:
S100:处理器将Bottleneck Residual Block神经网络构建模块输入的特征图featuremap从主存储器DDR中经过DMA加载到fm0中;
S200:NPU0从fm0中读取所述输入的特征图feature map,并计算右侧第一层Conv,计算结果存储在fm1中;
S300:NPU1从fm1中读取右侧第一层计算结果,并计算右侧第二层DWConv,计算结果存储在fm1中;
S400:NPU2从fm1中读取右侧第二层计算结果,并计算右侧第三层Conv;计算结束后,从fm0中读取Bottleneck Residual Block神经网络构建模块输入的特征图feature map,并与右侧第三层计算结果相加,相加的结果存储在fm2中,作为模块计算结果;
S500:fm2中的模块计算结果经过DMA存储到主存储器DDR中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210924133.2/1.html,转载请声明来源钻瓜专利网。