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

【发明授权】基于SIMD技术的卷积神经网络加速装置及方法_北京计算机技术及应用研究所_202011015325.9 

申请/专利权人:北京计算机技术及应用研究所

申请日:2020-09-24

公开(公告)日:2024-02-27

公开(公告)号:CN112418417B

主分类号:G06N3/063

分类号:G06N3/063;G06N3/0464;G06F9/38;G06F13/28;G06N3/048

优先权:

专利状态码:有效-授权

法律状态:2024.02.27#授权;2021.03.16#实质审查的生效;2021.02.26#公开

摘要:本发明涉及一种基于SIMD技术的卷积神经网络加速装置及方法,属于嵌入式卷积神经网络加速硬件技术领域。本发明针对当前神经网络应用中的突出矛盾,提出一种基于SIMD技术的神经网络推理加速装置。本发明首先设计一个运算流程,以满足神经网络算法中的全部算子功能,然后面向该计算流程,进行硬件功能单元设计,以软件定义硬件的方式实现系统设计,同时提供较高的性能功耗比和综合运算能力。

主权项:1.一种基于SIMD技术的卷积神经网络加速装置,其特征在于,包括卷积阵列、可编程向量处理单元、数据缓冲区、权重缓冲区、任务分发单元、卷积控制器以及外部存储器;其中,所述卷积阵列负责根据卷积控制器的硬件微操作指令,实现卷积运算加速,同时兼顾批量规范化BN和ReLU激活功能;可编程向量处理单元用于通过编程,处理当前神经网络算法中的多种操作;卷积控制器是所述卷积阵列的控制机构,负责将一个完整的图像卷积运算,自动分解为硬件微操作指令,从而控制卷积阵列实现卷积运算加速;数据缓冲区用于存储神经网络特征图、卷积阵列的卷积结果和可编程向量处理单元的运算结果参数;权重缓冲区用于存储卷积权重和其他参数;任务分发单元用于从外部存储器中读取神经网络算法的可执行代码,并根据当前算子类型调用卷积控制器或可编程向量处理单元实现运算;若当前算子为卷积,则任务分发模块将该可执行代码中的卷积的相关信息发送给卷积控制器,使得卷积阵列根据卷积控制器的硬件微操作指令,实现卷积运算加速;卷积的相关信息包括神经网络特征图大小、滤波器大小、通道数、神经网络特征图和卷积权重的内存地址;若当前算子为pooling计算,任务分发单元将pooling任务的可执行代码传送至可编程向量处理单元进行处理;若当前算子为eltwise计算,则任务分发单元将eltwise任务的可执行代码传送至可编程向量处理单元进行处理;外部存储器用于神经网络算法的可执行代码;所述卷积阵列包括若干个SIMD乘累加器、若干个横向求和单元、一个BN单元、一个ReLU单元、一个数据广播单元,若为3x3卷积运算,卷积阵列具体用于根据卷积控制器的硬件微操作指令,首先通过异步DMA将外部存储器中的神经网络特征图和卷积权重分别加载到数据缓冲区和权重缓冲区;然后从数据缓冲区,按照直接卷积方式,读取m个通道的神经网络特征图,神经网络特征图经过数据广播单元,复制成n份,同时从权重缓冲区读取相应的权重数据,进行乘累加运算,每9次乘累加即完成一个二维3*3卷积,若设该卷积阵列输入M个通道,输出N个通道,则Mm*9次乘累加结果在横向求和单元进行横向求和,合并为一个通道的输出,再经过BN单元和ReLU单元,完成一个点位置的三维卷积,卷积结果写回数据缓冲区,再经由异步DMA写回外部存储器,卷积阵列同时输出n个通道的三维卷积结果,卷积计算过程重复N次,则完成一个点位置的全部N个通道卷积计算,对特征图的全部位置执行卷积计算流程,完成一个卷积层的计算。

全文数据:

权利要求:

百度查询: 北京计算机技术及应用研究所 基于SIMD技术的卷积神经网络加速装置及方法

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