[发明专利]一种神经网络的编译方法、装置、计算机设备及存储介质在审
申请号: | 202111652713.2 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114356340A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 周桓;田志仲;何山;勾志宏 | 申请(专利权)人: | 上海阵量智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N3/04 |
代理公司: | 北京中知恒瑞知识产权代理事务所(普通合伙) 11889 | 代理人: | 袁忠林 |
地址: | 200235 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 编译 方法 装置 计算机 设备 存储 介质 | ||
本公开提供了一种神经网络的编译方法、装置、计算机设备及存储介质,其中,该方法包括:对中间程序进行解析,得到所述中间程序的内部数据结构;所述内部数据结构包括对象以及对象之间的关联关系;所述对象包括:操作语句、以及与所述操作语句对应的变量和变量定义语句;其中,所述中间程序是利用预设中间语言和目标高级语言之间的转换关系信息,将基于目标高级语言编写的目标神经网络的原始程序转换为预设中间语言编写的程序;基于所述内部数据结构,生成所述操作语句的配置信息;基于所述操作语句对数据处理芯片的指令封装关系、以及所述配置信息,生成所述数据处理芯片在运行所述目标神经网络时的机器指令。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种神经网络的编译方法、装置、计算机设备及存储介质。
背景技术
人工智能(Artificial Intelligence,AI)加速芯片时提高神经网络推理性能的有效途径,它在硬件层面上实现了神经网络中的常见计算,提升了网络的推理过程。为了在AI加速芯片上推理一个神经网络,需要编译器把原始的神经网络编译为AI加速卡芯片的指令。
然而,常用的编译框架主要面向于通用的硬件加速器,也即更适用于可拆分为简单运算操作的机器指令,而并不适用于直接采用卷积运算等运算操作的机器指令,因此不适用于将神经网络编译在AI加速芯片这样的数据处理芯片上。
发明内容
本公开实施例至少提供一种神经网络的编译方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种神经网络的编译方法,包括:对中间程序进行解析,得到所述中间程序的内部数据结构;所述内部数据结构包括对象以及对象之间的关联关系;所述对象包括:操作语句、以及与所述操作语句对应的变量和变量定义语句;其中,所述中间程序是利用预设中间语言和目标高级语言之间的转换关系信息,将基于目标高级语言编写的目标神经网络的原始程序转换为预设中间语言编写的程序;基于所述内部数据结构,生成所述操作语句的配置信息;基于所述操作语句对数据处理芯片的指令封装关系、以及所述配置信息,生成所述数据处理芯片在运行所述目标神经网络时的机器指令。
一种可选的实施方式中,所述操作语句的配置信息包括:与所述操作语句对应的变量的目标存储地址;所述基于所述内部数据结构,生成每条所述操作语句的配置信息,包括:针对所述操作语句中的目标操作语句,基于所述目标操作语句对应变量的变量定义语句,为所述目标操作语句对应的变量分配对应的目标存储地址;所述目标存储地址包括内存中的存储地址、和/或高速缓存中的存储地址。
一种可选的实施方式中,所述基于所述内部数据结构,生成每条所述操作语句的配置信息之前,还包括:基于所述操作语句的类型、以及所述操作语句对应的变量,从所述操作语句中,确定对预设存储空间进行重复访存的待删除操作语句;从所述操作语句中删除所述待删除操作语句,得到所述目标操作语句。
一种可选的实施方式中,所述操作语句的类型包括:变量存储、以及变量读取;所述基于所述操作语句的类型、以及所述操作语句对应的变量,从所述操作语句中,确定对预设存储空间进行重复访存的待删除操作语句,包括:针对每个类型为变量存储的第一操作语句,基于所述第一操作语句对应的变量,确定是否存在与所述第一操作语句对应的变量为同一变量、且类型为变量读取的第二操作语句;其中,所述第一操作语句和所述第二操作语句分别属于相邻的不同网络层;若存在,则将所述第一操作语句与对应的第二操作语句确定为所述待删除操作语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海阵量智能科技有限公司,未经上海阵量智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111652713.2/2.html,转载请声明来源钻瓜专利网。