[发明专利]基于动态可重构脉动张量运算引擎的深度神经网络加速器在审
申请号: | 202210548997.9 | 申请日: | 2022-05-20 |
公开(公告)号: | CN114781632A | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 利节;颜定江;董志诚;吴瑞;张渝楠;覃锐;黄晓薇 | 申请(专利权)人: | 重庆科技学院 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 重庆敏创专利代理事务所(普通合伙) 50253 | 代理人: | 黄梅 |
地址: | 401331 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 可重构 脉动 张量 运算 引擎 深度 神经网络 加速器 | ||
1.基于动态可重构脉动张量运算引擎的深度神经网络加速器,其特征在于,包括:包括HBM高速内存接口、权重参数存储单元、张量排序模块、激活值向量存储单元、动态可重构脉动张量阵列运算引擎单元、累加器和矩阵转置向量单元、标量运算单元;
所述HBM高速内存接口用于从DRAM外部存储器中分别调入深度神经网络的权重张量、特征图张量至所述权重参数存储单元及所述激活值向量存储单元中;
所述权重参数存储单元用于将自身存储的权重张量并行拍打送入所述张量排序模块的多个张量排序单元,所述激活值向量存储单元用于将自身存储的特征图张量并行拍打送入所述动态可重构脉动张量阵列运算引擎单元;
多个所述张量排序单元用于对送入的所述权重张量进行排序优化,完成张量到矩阵的分解,然后拍打送入所述动态可重构脉动张量阵列运算引擎单元;
所述动态可重构脉动张量阵列运算引擎单元用于根据输入的所述权重张量和所述特征图张量动态重构多个脉动张量阵列运算引擎并分别对其进行并行的乘累加操作,输出对应的乘累加运算结果至所述累加器和矩阵转置向量单元;
所述累加器和矩阵转置向量单元用于对输入的所述乘累加运算结果进行累加缓存和异步处理矩阵转置操作,输出所述权重张量和所述特征图张量的最终运算结果至所述标量运算单元;
所述标量运算单元用于对输入的所述最终运算结果进行特定应用场景下的数据运算操作,输出对应的数据运算结果至所述激活值向量存储单元作为深度神经网络的新的特征图张量参与下一轮计算或直接作为深度神经网络的最终推理结果;
所述HBM高速内存接口还用于从所述激活值向量存储单元中取出深度神经网络的最终推理结果并传输至所述DRAM外部存储器中。
2.根据权利要求1所述的基于动态可重构脉动张量运算引擎的深度神经网络加速器,其特征在于,所述动态可重构脉动张量阵列运算引擎单元包括多个所述脉动张量运算引擎,每个所述脉动张量运算引擎的数量以及运算方式由外部的编译器动态确定;每个所述脉动张量运算引擎的输入均为可变维度的权重张量和特征图张量,多个所述脉动张量运算引擎独立并行流水线运算,最后得到多个运算结果输入所述累加器和矩阵转置向量单元。
3.根据权利要求2所述的基于动态可重构脉动张量运算引擎的深度神经网络加速器,其特征在于,所述脉动张量运算引擎的数量由所述编译器根据FPGA硬件可用资源和模型计算图最大可并行执行数量而定;所述脉动张量运算引擎的运算方式总共包括浮点运算、定点运算和移位运算,所述编译器根据神经网络模型的量化方式决定选用对应的运算方式。
4.根据权利要求2所述的基于动态可重构脉动张量运算引擎的深度神经网络加速器,其特征在于:每个所述脉动张量运算引擎包括指令控制器、权重参数寄存器组、特征图寄存器组、运算阵列和输出缓冲;每个所述脉动张量运算引擎进行张量乘法运算的流程包括如下步骤:
1)所述指令控制器向所述权重参数寄存器组发出权重参数寄存器组索引控制信号以从连接的所述张量排序单元调入权重张量到所述权重参数寄存器组;
2)所述指令控制器向所述特征图寄存器组发出特征图寄存器组索引控制信号以从所述激活值向量存储单元中调入特征图张量到所述特征图寄存器组;
3)所述指令控制器发出运算器控制信号给所述运算阵列并启动所述运算阵列完成张量运算;
4)保存所述运算阵列的计算结果到所述输出缓冲中;
5)所述输出缓冲将所述运算阵列的计算结果输出至所述累加器和矩阵转置向量单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆科技学院,未经重庆科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210548997.9/1.html,转载请声明来源钻瓜专利网。