当前位置: 首页 > 专利查询>中山大学专利>正文

一种神经网络加速器自动化代码生成方法技术

技术编号:34022333 阅读:60 留言:0更新日期:2022-07-02 17:15
本发明专利技术公开一种神经网络加速器自动化代码生成方法。该方法可实现高性能FPGA加速器的自动化代码生成。首先在硬件层面,通过对卷积操作映射成通用矩阵乘法(GEMM),之后为每层选取合适的硬件设计参数以实现高计算效率的神经网络加速器。在软件层面,编译器解析ONNX模型以获得神经网络模型结构,并通过算子融合等一系列操作最终映射成FPGA硬件上可实现的算子,最后通过算子之间的级联以实现整体加速器的代码生成。同时该编译器通过调整硬件设计参数,可实现对硬件资源的优化。可实现对硬件资源的优化。可实现对硬件资源的优化。

【技术实现步骤摘要】
一种神经网络加速器自动化代码生成方法


[0001]本专利技术涉及电子信息以及深度学习
,更具体地,涉及一种神经网络加速器自动化代码生成方法。

技术介绍

[0002]由于流水线式DCNN加速器能够利用DCNN模型的层间并行度,因此广泛用于处理视频流的场合。但此架构也存在相应问题,例如适配不同网络时需要手动修改RTL代码,同时对片上存储资源需求大等。
[0003]现有技术公开一种用于执行关于非常稀疏或超稀疏矩阵的矩阵运算的硬件加速器,包括:一个或多个片,其中每个片包含:多个处理元件(PE),其用来执行涉及由存储器所存储的、作为第一操作数的一个或多个非常或超稀疏矩阵的矩阵运算;以及数据管理单元(DMU),其用来提供对所述存储器的所述多个PE访问,所述存储器经由接口用来与所述硬件加速器耦合,所述接口被优化以提供对数据的低等待时间、并行随机访问;其中所述多个PE经由所述DMU通过下列步骤来执行所述矩阵运算:在通过发出对指针值的随机访问读请求来识别所述一个或多个矩阵的值的位置之后发出对所述值的随机访问读请求的第一集合;发出对用作第二操作数的一本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种神经网络加速器自动化代码生成方法,其特征在于,包括:将待加速的不同框架格式的神经网络模型转换为ONNX格式的神经网络模型;利用Graph Builder模块从转换后的ONNX格式的神经网络模型提取模型的连接信息和参数信息,并构建成图表示;在RTL Library模块中保存有神经网络模型的各算子的硬件实现和RTL代码模板;利用CNN Scheduler模块根据FPGA的资源约束,求解神经网络模型的硬件实现最优参数;利用RTL Generator模块接收来自所述Graph Builder模块的连接和参数信息、CNN Scheduler模块中的硬件实现最优参数,索引RTL Library模块相应的算子RTL代码模板,生成RTL代码。2.根据权利要求1所述的神经网络加速器自动化代码生成方法,其特征在于,所述利用Graph Builder模块从转换后的ONNX格式的神经网络模型提取模型的连接和参数信息,具体为:所述模型的连接信息为模型各层之间的连接信息,包括各卷积层之间的连接关系;所述模型的参数信息包括卷积核大小、特征图的尺寸、卷积核移动步长和全连接层的尺寸。3.根据权利要求1所述的神经网络加速器自动化代码生成方法,其特征在于,所述图表示使用开源TVM编译器的中间表达IR进行表示。4.根据权利要求1所述的神经网络加速器自动化代码生成方法,其特征在于,对所述Graph Builder模块构建的图表示后,顺序索引模型的连接关系,并进行算子融合,使得与RTL Library模块中保存的算子格式相一致。5.根据权利要求1所述的神经网络加速器自动化代码生成方法,其特征在于,对不包含在RTL Library模块中的算子,将其从图中移出。6.根据权利要求1所述的神经网络加速器...

【专利技术属性】
技术研发人员:黄以华李权鑫罗聪慧
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1