【技术实现步骤摘要】
一种神经网络加速器自动化代码生成方法
[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所述的神经网络加速器...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。