[发明专利]一种代码生成方法及装置在审
申请号: | 201910702120.9 | 申请日: | 2019-07-31 |
公开(公告)号: | CN112306502A | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 陈华;刘强;杨扬 | 申请(专利权)人: | 上海华为技术有限公司 |
主分类号: | G06F8/51 | 分类号: | G06F8/51 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 吴磊 |
地址: | 201206 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 生成 方法 装置 | ||
1.一种代码生成方法,其特征在于,包括:
获取目标文本以及目标处理器的类型;
将所述目标文本转换为基于C的矩阵编程语言CM的代码,并根据所述CM的代码构建有向无环图DAG;
根据所述DAG和所述目标处理器从预先设置的模板库中选择矢量化方案,所述矢量化方案包括与所述处理器的类型对应的代码;
根据所述矢量化方案生成所述目标处理器的指令。
2.根据权利要求1所述的代码生成方法,其特征在于,所述将所述目标文本转换为基于C的矩阵编程语言CM的代码,并根据所述CM的代码构建有向无环图DAG之后,所述方法还包括:
将所述DAG转换为目标数据,所述目标数据是javascript对象简谱JSON格式的数据;
根据所述目标处理器确定所述目标处理器对应的数据格式;
所述根据所述DAG和所述目标处理器从预先设置的模板库中选择矢量化方案包括:
根据所述目标数据和所述目标处理器对应的数据格式从所述预先设置的模板库中选择矢量化方案。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述DAG和所述目标处理器从预先设置的模板库中选择矢量化方案之后,所述方法还包括:
根据所述目标处理器将所述矢量化方案进行优化。
4.一种代码生成的装置,其特征在于,包括:
获取模块,用于获取目标文本以及目标处理器的类型;
处理模块,用于将所述目标文本转换为基于C的矩阵编程语言CM的代码,并根据所述CM的代码构建有向无环图DAG;
所述处理模块,还用于根据所述DAG和所述目标处理器从预先设置的模板库中选择矢量化方案,所述矢量化方案包括与所述处理器的类型对应的代码;
所述处理模块,还用于根据所述矢量化方案生成所述目标处理器的指令。
5.根据权利要求4所述的装置,其特征在于,所述装置包括:
所述处理模块,用于将所述DAG转换为目标数据,所述目标数据是javascript对象简谱JSON格式的数据;
所述处理模块,还用于根据所述目标处理器确定所述目标处理器对应的数据格式;
所述处理模块,还用于根据所述目标数据和所述目标处理器对应的数据格式从所述预先设置的模板库中选择矢量化方案。
6.根据权利要求4或5所述的装置,其特征在于,所述装置包括:
所述处理模块,还用于根据所述目标处理器将所述矢量化方案进行优化。
7.一种代码生成的装置,其特征在于,所述装置包括:
获取器,用于获取目标文本以及目标处理器的类型;
解析器,用于将所述目标文本转换为基于C的矩阵编程语言CM的代码,并根据所述CM的代码构建有向无环图DAG;
处理器,用于根据所述DAG和所述目标处理器从预先设置的模板库中选择矢量化方案,所述矢量化方案包括与所述处理器的类型对应的代码;
映射器,用于根据所述矢量化方案生成所述目标处理器的指令。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
优化器,用于根据所述目标处理器将所述矢量化方案进行优化。
9.一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求1至3中任一项所述的代码生成方法。
10.一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机执行上述权利要求1至3中任一项所述的代码生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华为技术有限公司,未经上海华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910702120.9/1.html,转载请声明来源钻瓜专利网。