[发明专利]基于RL的超优化编译器建立、代码超优化方法及系统有效

专利信息
申请号: 202110507940.X 申请日: 2021-05-10
公开(公告)号: CN113204349B 公开(公告)日: 2023-02-03
发明(设计)人: 赵佳棋;张成;汤战勇;王焕廷;叶贵鑫;陈晓江 申请(专利权)人: 西北大学
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 西安恒泰知识产权代理事务所 61216 代理人: 王芳
地址: 710069 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 rl 优化 编译器 建立 代码 方法 系统
【权利要求书】:

1.一种基于RL的超优化编译器建立方法,其特征在于,包括如下步骤:

步骤1:获取源代码,将源代码转换为二进制文件后输入编译器中进行搜索,输出搜索过程中的所有搜索路径;

步骤2:采用NLP技术中文本转embedding方法doc2vec算法对每条搜索路径进行解析,获得每条搜索路径包含的多个词条,其中,每个词条包括代码优化程度、突变代码和随机突变方向;包括如下子步骤:

1)将搜索路径文件search.txt里面的每轮出现的Reward/Code/Action分成一个词条,将每个搜索路径保存成如下字典形式log_data = {action:None, reward:None, code:None, cost:None};

2)将解析出来的词条和code索引项通过遍历保存成一个list格式的数据集,同时将索引号码保存成另一个list格式的数据标签;

3)将数据集和对应的数据标签打包成机器机器学习模型doc2vec数据集的格式,通过doc2vec方法,设定embedding的长度vector_size=128,窗口大小为10,最小词条长度为1,训练次数epochs=20,训练出一个词法相关的模型model,然后在通过这个训练好的model,用model.infer_vector对每一个条目生成对应的code embedding;

4)获得每个action的独热编码(one-hot)将分类的变量作为二进制向量表示;

步骤3:将所有搜索路径包含的词条作为训练集,将随机突变方向的种类作为标签,对编译器通过强化学习方法进行训练,所述强化学习方法采用PPO方法,所述PPO方法的目标是计算策略π∗使期望的回报最大化,,其中,是定义单个情节的一系列状态和行为,学习者试图在当前状态下找到一个最佳行动,它包括学习寻找最佳行动和反复试验;在该PPO方法中定义action =[0,1,2,3,4,5,6,7,8] 分别是每个词条随机突变的9种方式,定义observation_space是数据预处理阶段的embedding模型,定义reward是每个词条的代码优化程度,即突变后的指令函数运行在llvm中执行时间通过numpy包中的tanh双曲正切函数计算得到;定义state是每个词条的突变代码;将STOKE生成的搜索空间和搜索路径以及搜索过程中经历的action和Reward输入到待优化的编译器中,让编译器学习STOKE的搜索策略,找到随机突变对代码优化的影响,最后得到一个训练好的编译器保存在~/ray_results/PPO_*中;

将训练好的编译器作为超优化编译器,所述的超优化编译器的突变方向为优化后的随机突变方向。

2.如权利要求1所述的基于RL的超优化编译器建立方法,其特征在于,所述的随机突变方向包括9种,分别为:Opcode、Operand、GlobalSwap、LocalSwap、AddNops、Delete、Instruction、Weighted和Resize。

3.一种代码超优化方法,其特征在于,该方法用于获取待优化源代码,将待优化源代码输入采用权利要求1或2的基于RL的超优化编译器建立方法建立的超优化编译器中,获得待优化源代码的突变方向,直至代码收敛时优化结束,输出超优化代码。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110507940.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top