一种硬件代码生成和性能评估方法技术

技术编号:27934236 阅读:12 留言:0更新日期:2021-04-02 14:13
本申请提供一种硬件代码生成和性能评估方法,方法包括:对深度神经网络算法模型的结构、数据类型、运算类型和处理流程进行分析,生成深度神经网络算法模型解析报告;根据深度神经网络算法模型解析报告,在智能计算单元IP库中选择对应运算类型的智能计算单元IP,进行实例化并选择最优的互连网络结构;将深度神经网络算法模型解析报告中所有运算,一一对应映射到智能计算单元IP的实例上;生成硬件配置方案;根据硬件配置方案,生成深度神经网络算法的可综合硬件代码,并通过硬件综合软件生成可加载到嵌入式智能计算模块的二进制文件;以深度神经网络算法模型为测试基准,进行功能仿真和性能分析,获得性能分析报告和时序图。

【技术实现步骤摘要】
一种硬件代码生成和性能评估方法
本专利技术属于嵌入式计算领域,涉及一种硬件代码生成和性能评估方法。
技术介绍
近年来随着航空机载处理系统等复杂嵌入式计算系统对于智能计算要求的不断提高,以深度神经网络为代表的人工智能算法逐步推广应用,例如用于智能图像目标分类的AlexNet、VGG、MobileNet等卷积神经网络算法模型,用于智能目标检测的SSD、YOLO、FastR-CNN等卷积神经网络算法模型,以及LSTM、GRU等循环神经网络模型。但是,复杂嵌入式计算系统面临着多种智能任务场景,例如图像识别、语音识别、目标定位、目标确认、决策控制等,需要在统一的嵌入式智能计算模块中能够运行多种深度神经网络智能算法,并且能够快速实现高层次算法模型在智能计算硬件模块的加载运行。目前,国内外推出的专用型智能计算芯片,例如海思的Hi3559A、昇腾310等仅支持目标识别等图像类应用,而寒武纪MLU系列通用型智能计算芯片难以面向不同智能算法进行优化,在性能功耗方面还有待提高,另外目前智能计算芯片普遍存在指令集不成熟、开发工具软件使用不方便、难以开展准确性能评估等问题。嵌入式智能计算模块是包含FPGA可编程硬件资源的嵌入式计算单元,能够通过将人工智能算法转化成硬件逻辑并在FPGA内部配置,来实现对多种智能算法的支持,因此,它对于嵌入式智能计算系统的统型化、微型化、按需定义配置都具有重要意义。然而,目前还无法实现从高层次人工智能算法模型向硬件代码快速转换,以及开展人工智能算法在嵌入式智能计算模块的有效性能评估。
技术实现思路
<br>为了解决上述背景中提及的问题,本专利技术提供了一种硬件代码生成和性能评估方法,解决深度神经网络智能算法的快速硬件加载和性能评估问题,加快复杂嵌入式计算系统的人工智能算法设计部署,提升处理能力和资源利用率。本申请提供一种硬件代码生成和性能评估方法,所述方法应用于嵌入式计算系统,所述嵌入式计算系统包括至少一个可配置的嵌入式智能计算模块,所述嵌入式智能计算模块内部包含FPGA,所述FPGA可配置至少两种深度神经网络算法类型;所述方法包括:对深度神经网络算法模型的结构、数据类型、运算类型和处理流程进行分析,生成深度神经网络算法模型解析报告;根据所述深度神经网络算法模型解析报告,在智能计算单元IP库中选择对应运算类型的智能计算单元IP,进行实例化并选择最优的互连网络结构;将所述深度神经网络算法模型解析报告中所有运算,一一对应映射到所述智能计算单元IP的实例上;生成深度神经网络算法在嵌入式智能计算模块的硬件配置方案;根据所述硬件配置方案,生成深度神经网络算法的可综合硬件代码,并通过硬件综合软件生成可加载到嵌入式智能计算模块的二进制文件;以所述深度神经网络算法模型为测试基准,进行功能仿真和性能分析,获得性能分析报告和时序图。优选的,所述深度神经网络算法模型解析报告包括:深度神经网络的算法类型;网络层数;每层的特征图数据格式、特征图、特征图数据位宽、参数数据格式、参数数据位宽;每层的运算类型;算法不同层之间的数据流向。优选的,所述智能计算单元IP库,是面向深度神经网络算法运算类型的硬件可综合处理单元IP的集合,包括向量乘加、池化、激活函数、分类;每种IP单元的数据格式和数据位宽可配置;所述互连网络结构,是根据不同智能计算单元IP实例之间数据流向选择的网络结构,包括点到点直连、共享总线、交叉开关、交换网络。优选的,将所述深度神经网络算法模型解析报告中所有运算,一一对应映射到所述智能计算单元IP的实例上,具体包括:采用一种多目标优化的任务-资源映射算法,包括遗传算法、粒子群算法、模拟退火算法、蚁群算法,优化目标包括嵌入式智能计算模块的处理时延最小、硬件资源消耗最小。优选的,所述深度神经网络算法模型测试基准,包括用于智能图像目标分类的AlexNet、VGG、MobileNet卷积神经网络算法模型;用于智能目标检测的SSD、YOLO、FastR-CNN卷积神经网络算法模型,LSTM、GRU循环神经网络模型。优选的,以所述深度神经网络算法模型为测试基准,进行功能仿真,具体包括:深度神经网络算法模型的硬件配置是否能够正常加载;嵌入式智能计算模块中FPGA的逻辑资源数量是否满足深度神经网络算法模型配置需要;测试数据集是否能够正常输入;深度神经网络算法功能是否正常,所述深度神经网络算法功能包括目标识别、语音识别、任务决策;算法运行结果是否能够正常输出、显示;优选的,以所述深度神经网络算法模型为测试基准,进行性能分析,具体包括:深度神经网络算法模型在嵌入式智能计算模块上的运行速度、平均准确率、占用FPGA资源数量、功耗。优选的,深度神经网络智能算法的类型包括卷积神经网络CNN和循环神经网络RNN。本专利技术的优点在于:一种硬件代码生成和性能评估方法包括:深度神经网络的算法模型解析、智能计算单元IP实例化及互连网络结构选择、算法-智能计算单元IP映射及网络配置优化、可综合硬件代码生成、功能仿真和性能分析,能够支撑深度神经网络算法模型解析-硬件配置-硬件代码生成-功能仿真-性能分析整个流程,实现深度神经网络智能算法的快速硬件加载和性能评估,提升嵌入式智能计算系统的处理能力和资源利用率附图说明图1为本专利技术实施例提供的一种硬件代码生成和性能评估方法的流程示意图。具体实施方式实施例一本专利技术实施例提供了一种硬件代码生成和性能评估方法,其特征在于,应用于嵌入式计算系统,所述嵌入式计算系统包括至少一个可配置的嵌入式智能计算模块;所述可配置的嵌入式智能计算模块,内部包含FPGA可编程硬件资源,可以通过配置运行卷积神经网络CNN和循环神经网络RNN深度神经网络智能算法,可配置的智能算法类型至少两种;所述硬件代码生成和性能评估方法包括以下步骤:(1)深度神经网络的算法模型解析;(2)智能计算单元IP实例化及互连网络结构选择;(3)算法-智能计算单元IP映射及网络配置优化;(4)可综合硬件代码生成;(5)功能仿真和性能分析;所述硬件代码生成和性能评估方法的输出包括:可加载到嵌入式智能计算模块FPGA中的二进制文件、性能分析报告和时序图。进一步的,所述深度神经网络的算法模型解析是对人工智能应用的深度神经网络算法模型的结构、数据类型、运算类型、处理流程进行分析,生成深度神经网络算法模型解析报告;所述深度神经网络,包括:用于智能视频/图像目标识别的卷积神经网络,用于智能语音识别、智能决策控制的循环神经网络,以及其它应用场景自定义的深度神经网络;所述深度神经网络算法模型,包括:基于Caffe、TensorFlow、PyTorch开发框架的算法模型,以及用C、C++、Python、Matlab、Java高层次编程语言编写的算法模型;所述智能算法模型解析报告,包括:深度神经网络的算法类型;网络层数;每层的特征图数据格式、特征图数据位宽、参数数据本文档来自技高网...

【技术保护点】
1.一种硬件代码生成和性能评估方法,其特征在于,所述方法应用于嵌入式计算系统,所述嵌入式计算系统包括至少一个可配置的嵌入式智能计算模块,所述嵌入式智能计算模块内部包含FPGA,所述FPGA可配置至少两种深度神经网络算法类型;所述方法包括:/n对深度神经网络算法模型的结构、数据类型、运算类型和处理流程进行分析,生成深度神经网络算法模型解析报告;/n根据所述深度神经网络算法模型解析报告,在智能计算单元IP库中选择对应运算类型的智能计算单元IP,进行实例化并选择最优的互连网络结构;/n将所述深度神经网络算法模型解析报告中所有运算,一一对应映射到所述智能计算单元IP的实例上;生成深度神经网络算法在嵌入式智能计算模块的硬件配置方案;/n根据所述硬件配置方案,生成深度神经网络算法的可综合硬件代码,并通过综合软件生成可加载到嵌入式智能计算模块的二进制文件;/n以所述深度神经网络算法模型为测试基准,进行功能仿真和性能分析,获得性能分析报告和时序图。/n

【技术特征摘要】
1.一种硬件代码生成和性能评估方法,其特征在于,所述方法应用于嵌入式计算系统,所述嵌入式计算系统包括至少一个可配置的嵌入式智能计算模块,所述嵌入式智能计算模块内部包含FPGA,所述FPGA可配置至少两种深度神经网络算法类型;所述方法包括:
对深度神经网络算法模型的结构、数据类型、运算类型和处理流程进行分析,生成深度神经网络算法模型解析报告;
根据所述深度神经网络算法模型解析报告,在智能计算单元IP库中选择对应运算类型的智能计算单元IP,进行实例化并选择最优的互连网络结构;
将所述深度神经网络算法模型解析报告中所有运算,一一对应映射到所述智能计算单元IP的实例上;生成深度神经网络算法在嵌入式智能计算模块的硬件配置方案;
根据所述硬件配置方案,生成深度神经网络算法的可综合硬件代码,并通过综合软件生成可加载到嵌入式智能计算模块的二进制文件;
以所述深度神经网络算法模型为测试基准,进行功能仿真和性能分析,获得性能分析报告和时序图。


2.根据权利要求1所述的方法,其特征在于,所述深度神经网络算法模型解析报告包括:深度神经网络的算法类型;网络层数;每层的特征图数据格式、特征图、特征图数据位宽、参数数据格式、参数数据位宽;每层的运算类型;算法不同层之间的数据流向。


3.根据权利要求1所述的方法,其特征在于,所述智能计算单元IP库,是面向深度神经网络算法运算类型的硬件可综合处理单元IP的集合,包括向量乘加、池化、激活函数、分类;每种IP单元的数据格式和数据位宽可配置;
所述互连网络结构,是根据不同智能计算单元IP实例之间数据流向选择的网络结构,包括...

【专利技术属性】
技术研发人员:刘飞阳郭鹏文鹏程白林亭李奕璇李亚晖
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

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

1