当前位置: 首页 > 专利查询>西北大学专利>正文

基于RL的超优化编译器建立、代码超优化方法及系统技术方案

技术编号:29525853 阅读:39 留言:0更新日期:2021-08-03 15:12
本发明专利技术属于计算机编译器超优化技术领域,公开了一种基于RL的超优化编译器建立、代码超优化方法及系统。该超优化编译器可以直接应用于编译器后端,可以对现有的编译器生成的可执行的二进制文件进行更优秀的重编译,从而提高代码的执行速度和效率,为后续编译器超优化的研究提供了更广阔的设计思路和技术支持。

【技术实现步骤摘要】
基于RL的超优化编译器建立、代码超优化方法及系统
本专利技术属于计算机编译器超优化
,具体涉及一种基于RL的超优化编译器建立、代码超优化方法及系统。
技术介绍
编译器是将“一种语言”翻译为“另一种语言”的程序,在许多应用领域中,尽可能地生成高性能的代码具有很大的价值,故传统的编译器翻译过程产生的代码指令序列还存在进一步优化的空间。超优化是一种产生完美优化代码的想法,它的核心思想是对于每一个代码而言,超优化编译器都能找到其对应的最优的指令序列,即能在现有编译器的基础上对编译器进行进一步的优化以达到“超优化”。代码超优化在搜索时,通常通过对每个可能的指令序列进行暴力搜索,检查它是否执行了代码相关操作并选择是否接受该序列。但是通过蛮力搜索的方式解决问题显然会受问题规模的影响,随着指令序列的长度的增加,其大小呈爆炸性增长,即使可以通过设置条件限制来进行剪枝,其搜索空间大小仍及其可观。因此,除了传统的通过蛮力搜索实现的超级优化器之外,现有技术中还研究有关机器学习和约束求解方法实现优化搜索的超级优化器。例如,stoke是X86-64指本文档来自技高网...

【技术保护点】
1.一种基于RL的超优化编译器建立方法,其特征在于,包括如下步骤:/n步骤1:获取源代码,将源代码转换为二进制文件后输入编译器中进行搜索,输出搜索过程中的所有搜索路径;/n步骤2:对每条搜索路径进行解析,获得每条搜索路径包含的多个词条,其中,每个词条包括代码优化程度、突变代码和随机突变方向;/n步骤3:将所有搜索路径包含的词条作为训练集,将随机突变方向的种类作为标签,对编译器通过强化学习方法进行训练,所述强化学习方法包括reward、action和state三个参数,其中,将每个词条的代码优化程度作为reward,将每个词条的随机突变方向作为action,将每个词条的突变代码作为state;/...

【技术特征摘要】
1.一种基于RL的超优化编译器建立方法,其特征在于,包括如下步骤:
步骤1:获取源代码,将源代码转换为二进制文件后输入编译器中进行搜索,输出搜索过程中的所有搜索路径;
步骤2:对每条搜索路径进行解析,获得每条搜索路径包含的多个词条,其中,每个词条包括代码优化程度、突变代码和随机突变方向;
步骤3:将所有搜索路径包含的词条作为训练集,将随机突变方向的种类作为标签,对编译器通过强化学习方法进行训练,所述强化学习方法包括reward、action和state三个参数,其中,将每个词条的代码优化程度作为reward,将每个词条的随机突变方向作为action,将每个词条的突变代码作为state;
将训练好的编译器作为超优化编译器,所述的超优化编译器的突变方向为优化后的随机突变方向。


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


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

【专利技术属性】
技术研发人员:赵佳棋张成汤战勇王焕廷叶贵鑫陈晓江
申请(专利权)人:西北大学
类型:发明
国别省市:陕西;61

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

1