[发明专利]一种动态多精度神经网络加速单元有效
申请号: | 202010747687.0 | 申请日: | 2020-07-30 |
公开(公告)号: | CN111626414B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 伍元聪;刘洋;田野;刘祎鹤;刘爽;于奇 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F15/173;G06F15/177 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 闫树平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 精度 神经网络 加速 单元 | ||
1.一种动态多精度神经网络加速单元,包括数据接口模块、配置接口模块、内存接口、输入缓冲模块、神经网络计算单元、内存调度单元、输出缓冲模块和系统控制模块,其特征在于:
所述配置接口模块通过向系统控制模块输送配置信息来配置整个系统;
所述数据接口模块负责向系统传输输入数据;
所述内存接口与输入缓冲模块、内存调度单元和输出缓冲模块相连;通过内存调度单元的控制以及监控下,向输入缓冲模块传输内存中储存的权重数据,或接受输出缓冲模块的运算结果数据,或通过内存调度单元控制暂存神经网络计算单元的中间运算结果;
所述输入缓冲模块与数据接口模块、内存接口和神经网络计算单元相连接,将内存中的权重数据、以及通过数据接口获得的输入数据,经过数据预处理后送入神经网络计算单元;
所述输出缓冲模块与内存调度单元、内存接口相连,在神经网络计算单元得到最终运算结果后,在内存调度单元的调度下,将运算结果排列准备,存入对应的内存地址中;
所述内存调度单元负责数据的调度以及与内存的交互,从相应地址处取数据、将计算的最终结果存入相应的内存地址、或将神经网络计算单元运算结果暂时存入内存;
所述系统控制模块通过监控神经网络计算单元,以及内存调度单元的当前数据流动状态,控制输入缓冲模块、神经网络计算单元、内存调度单元以及输出缓冲模块协同同步工作;
所述神经网络计算单元包含N个并行的处理单元PE阵列,N≥2,根据神经网络算法模型编程设置相应数量的处理单元PE阵列并行运行,用以进行卷积运算和矩阵乘法运算;处理单元PE阵列是由S个处理单元PE构成的n1×m1的二维矩阵,n1和m1均≥2,各处理单元PE间的连接通路为可编程,以支持不同规模的神经网络算法模型;
所述的处理单元PE结构,采用最低精度的数据类型的乘法器、加法器、定点运算控制逻辑、浮点运算控制逻辑和数据通路控制逻辑来搭建。
2.如权利要求1所述动态多精度神经网络加速单元,其特征在于:所述数据接口、内存接口、输入缓冲模块和输出缓冲模块挂靠在片内的总线上。
3.如权利要求1所述动态多精度神经网络加速单元,其特征在于:所述神经网络计算单元在每个处理单元PE阵列后还连接有M级加法链,在所有的M级加法链后还连接有K级加法树。
4.如权利要求1所述动态多精度神经网络加速单元,其特征在于:所述神经网络计算单元的每个处理单元PE均可处理多个数据精度的浮点数和定点数乘加运算,数据精度为int-16、int-8、int-4、int-2、int-1和floating-16。
5.如权利要求1所述动态多精度神经网络加速单元,其特征在于:所述神经网络计算单元的处理单元PE所用硬件资源复用,高位宽的乘法运算复用低位宽乘法器,所有数据位宽的加法运算复用同一个加法器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010747687.0/1.html,转载请声明来源钻瓜专利网。