[发明专利]一种经验库制导的浮点程序优化加速方法有效
申请号: | 202110438904.2 | 申请日: | 2021-04-22 |
公开(公告)号: | CN113094021B | 公开(公告)日: | 2023-10-17 |
发明(设计)人: | 汤恩义;肖安祥;陈鑫;王林章;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F7/483 | 分类号: | G06F7/483;G06N5/02 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 沈廉 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 经验 制导 浮点 程序 优化 加速 方法 | ||
1.一种经验库制导的浮点程序优化加速方法,其特征在于该方法包含的具体步骤为:
1-1.从优化经验库中查询相似程序的优化经验,并生成一个候选优化经验集,这些经验记录了在优化相似程序时使用过的程序转换规则序列,这些规则序列将被用于指导优化过程;
1-2.获取到优化经验后,优化算法优先使用优化经验记录的程序转换规则对待优化程序进行重写,并生成一个程序候选集;通过区间划分技术,优化算法从程序候选集中挑选出合适的候选程序,并对其进行合并来生成最终的优化结果;
1-3.通过对优化后程序进行解析,抽取出该程序的优化经验;这些优化经验被保存到优化经验库中,以便在优化其他程序时发挥其指导作用。
2.根据权利要求1所述的一种经验库制导的浮点程序优化加速方法,其特征在于所述的步骤1-1,从优化经验库中查询相似程序的优化经验,匹配待优化程序与经验库程序的相似程度,找到相似程度较高的程序,并将它们的优化经验抽取出来。
3.根据权利要求2所述的一种经验库制导的浮点程序优化加速方法,其特征在于所述的步骤1-3.通过对优化后程序进行解析,抽取出该程序的优化经验,具体步骤如下:
2-1.抽取待优化程序的符号结构特征,计算其程序索引值;
2-2.根据步骤2-1计算的程序索引值,计算出各分区的查找优先级,并将优先级最高的分区作为查询目标;
2-3.通过二分搜索算法来定位初始的查找位置;
2-4.从初始查找位置开始,按序从前取n/2条优化经验,往后取n/2条优化经验,并开始遍历这n条优化经验;
2-5.如果这n条优化经验还没有全部遍历完,跳转至步骤2-6;否则,跳转至步骤2-9;
2-6.取出下一条要查看的优化经验;
2-7.查看步骤2-6中优化经验记录的程序与待优化程序是否相似;如果相似,跳转到步骤2-8;否则,跳转到步骤2-5;
2-8.将步骤2-6生成的优化经验加入到候选经验集中,并跳转到步骤2-5;
2-9.返回候选经验集,结束经验查询的过程。
4.根据权利要求1所述的一种经验库制导的浮点程序优化加速方法,其特征在于所述的步骤1-2,优化算法优先使用优化经验记录的程序转换规则对待优化程序进行重写,是利用候选经验集来制导程序转换规则的选取过程,从而避免将时间浪费在无效规则上,以此来提高优化的效率。
5.根据权利要求4所述的一种经验库制导的浮点程序优化加速方法,其特征在于所述的利用候选经验集来制导程序转换规则的选取过程,具体步骤如下:
3-1.取出候选优化经验集中的优化经验,并对其进行遍历;
3-2.如果已遍历完所有的优化经验,跳转到步骤3-9;否则,跳转到步骤3-3;
3-3.取出下一条要遍历的优化经验;
3-4.抽取优化经验所保存的程序和规则序列,并遍历规则序列来重写待优化程序;
3-5.如果已遍历完规则序列,则跳转到步骤3-8;否则,跳转至步骤3-6;
3-6.取出规则序列的下一条规则;
3-7.使用步骤3-6的规则对当前程序进行重写;如果发现规则和程序不匹配,则寻找一条与当前规则相似程度最高且与当前程序相匹配的规则,并使用新规则来重写当前程序;程序重写完成后,跳转至步骤3-5;
3-8.将当前程序加入到候选程序集中,然后跳转至步骤3-2;
3-9.取出候选程序集中所有候选程序,然后划分程序的输入定义域,并为每个分区分配一个在该分区内计算误差最小的候选程序,最后将这些候选程序进行合并得到最终优化结果,并结束整个流程。
6.根据权利要求1所述的一种经验库制导的浮点程序优化加速策略,其特征在于所述的步骤1-3,通过对优化后程序进行解析,抽取出该程序的优化经验,是抽取程序优化过程中使用到的程序转换规则序列,将其总结成优化经验并保存到优化经验库中,在优化相似程序时,这些优化经验能帮助经验库发挥制导作用。
7.根据权利要求6所述的一种经验库制导的浮点程序优化加速策略,其特征在于所述将其总结成优化经验并保存到优化经验库中,具体步骤如下:
4-1.从优化后程序中解析出程序转换规则序列,并生成对应的优化经验;
4-2.根据待优化程序生成程序索引值;
4-3.根据步骤4-2生成的程序索引值确定优化经验应该保存在哪个分区;
4-4.在步骤4-3所指的分区内查找优化经验的存储位置;
4-5.查看该优化经验是否已存在于优化经验库中;如果存在,则结束整个流程;否则,跳转至步骤4-6;
4-6.将优化经验进行保存,并结束整个流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110438904.2/1.html,转载请声明来源钻瓜专利网。