[发明专利]一种用于CNN加速的OPU指令集定义方法有效
| 申请号: | 201910192455.0 | 申请日: | 2019-03-14 |
| 公开(公告)号: | CN110058882B | 公开(公告)日: | 2023-01-06 |
| 发明(设计)人: | 喻韵璇;王铭宇 | 申请(专利权)人: | 深圳市比昂芯科技有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06N3/04 |
| 代理公司: | 成都正煜知识产权代理事务所(普通合伙) 51312 | 代理人: | 李龙 |
| 地址: | 518017 广东省深圳市福保街道福保社*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 cnn 加速 opu 指令 定义 方法 | ||
本发明公开了一种用于CNN加速的OPU指令集定义方法,涉及CNN加速处理器的指令领域,其方法包括定义有条件指令、定义无条件指令和设置指令颗粒度。无条件指令为有条件指令提供配置参数,有条件指令设置触发条件,触发条件在硬件中硬写入,有条件指令设置对应的触发条件寄存器,有条件指令在触发条件满足后执行,无条件指令在被读取后直接执行,并且替换参数寄存器内容。本发明根据CNN网络和加速需求选择了并行输入及输出通道的计算模式,并且设置了指令颗粒度。本发明的指令集避免了操作周期不确定性大导致无法预测指令排序的问题。本发明的指令集和相应的处理器OPU可用FPGA或者ASIC实现;OPU可以加速不同的目标CNN网络,避免了硬件重构。
技术领域
本发明涉及CNN加速器指令集定义方法领域,尤其是一种用于CNN加速的OPU指令集定义方法。
背景技术
深度卷积神经网络(CNNs)在各种应用中表现出很高的准确性,如视觉对象识别,语音识别和物体检测等。然而,它在准确性上的突破在于高计算成本的代价,需要通过计算集群,GPU和FPGA来推动加速。其中,FPGA加速器具有能量效率高,灵活性好,计算能力强等优点,特别是在智能手机上的语音识别和视觉对象识别等边缘设备上的CNN深度应用中脱颖而出;其通常涉及架构探索和优化,RTL编程,硬件实现和软件-硬件接口开发,随着发展人们对FPGA CNN(卷积神经网络)加速的自动编译器进行了深入的研究,其可配置平台提供丰富的并行计算资源和高能效,使其成为边缘计算和数据中心CNN加速的理想选择。但随着DNN(深度神经网络)算法在各种更复杂的计算机视觉任务中的发展,如人脸识别,车牌识别,姿态识别等,多种DNN的级联结构被广泛应用以获得更好的性能,这些新的应用场景要求不同网络的顺序执行,因此需要不断重新配置FPGA器件,带来耗时长的问题;另一方面,客户网络架构中的每次新的更新都可以导致RTL代码的再生和整个实现过程,耗时更长。
近年来,能够快速将CNN部署到FPGA的自动加速器发生器成为另一个焦点,现有技术中有研究者开发了Deep weaver,它根据设计规划者提供的资源分配和硬件组织将CNN算法映射到手工优化设计模板;还有人提出了一个基于RTL模块库的编译器,它由多个优化的手工编码Verilog模板组成,描述了不同类型层的计算和数据流;与定制设计的加速器相比,这两项工作都获得了可比的性能;还有研究者提供了一个基于HLS的编译器,主要关注通过内存访问重组进行的带宽优化;还有研究者提出了一种收缩阵列架构,以实现更高的FPGA运行频率。但是现有的FPGA加速工作旨在为不同的CNN生成特定的单独加速器,这保证了基于RTL或基于HLS-RTL的模板的合理高性能,但在调整目标网络的情况下硬件升级复杂度高。因此,为实现不需要对单独网络产生特定硬件描述代码,不涉及对FPGA进行重新烧录,全部部署流程依靠指令配置完成,通过指令配置不同目标网络配置,不重构FPGA加速器,提出全新的CNN加速系统,定义OPU(Overlay Processor Unit)指令集,编译器编译定义的指令集产生指令序列,OPU执行编译后的指令实现CNN加速,为实现上述CNN加速需要考虑如何定义指令实现将不同结构的网络映射重组到具体结构上,使得实现指令控制的处理器普适性好。另一方面,当涉及外部存储器使用时,存储器读取和写入操作的循环模拟准确度不高,因为在外部存储器使用期间可能发生额外的刷新时间和其他开销;如果在解码后立即执行指令,则操作顺序只能由指令序列的顺序控制;如果没有精确模拟操作周期,控制并行执行的操作的起点就会变得棘手;同时,主要业务的起始条件变化有限,通常在前几个步骤达到某状态后被触发,导致实现指令执行时间不确定性大,因此,需要一种指令集定义方法定义指令克服以上问题,提供OPU指令集将不同结构的网络映射重组到具体结构,优化指令控制的处理器的普适性,能实现根据指令完成不同目标网络的配置,通过OPU实现通用CNN加速。
发明内容
本发明的目的在于:本发明提供了一种用于CNN加速的OPU指令集定义方法,提供将不同结构的网络映射重组到具体结构的OPU指令集,优化指令控制的处理器的普适性,达到不重构FPGA实现不同网络的目的。
本发明采用的技术方案如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市比昂芯科技有限公司,未经深圳市比昂芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910192455.0/2.html,转载请声明来源钻瓜专利网。





