[发明专利]用于程序自动性能预测的视点提升方法有效
| 申请号: | 201510579026.0 | 申请日: | 2015-09-11 |
| 公开(公告)号: | CN105183651B | 公开(公告)日: | 2018-03-16 |
| 发明(设计)人: | 张伟哲;谢虎成;何慧;韩硕;郝萌;王学惠;鲁刚钊 | 申请(专利权)人: | 哈尔滨工业大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 杨立超 |
| 地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 用于程序自动性能预测的视点提升方法,属于程序性能预测领域。现有的程序自动性能预测方法存在难以在保证预测精度的同时确定最大预测性的问题。一种用于程序自动性能预测的视点提升方法,步骤一、定义基本块N执行次数的视点V,则利用二元组表示的基本块频率为(Ev,BV,N);步骤二、对二元组表示的基本块频率(Ev,BV,N)中的视点V的实际运行次数Ev的量进行提升操作;步骤三、确定视点V中预测到基本块N的频率BV,N;步骤四、定义基本块N的频率BN=Ev×BV,N;步骤五、得到视点V在一次运行中总的基本块频率为本发明具有在保证精度的同时确定合适的插入位置,结合静态分支概率提高预测性的优点。 | ||
| 搜索关键词: | 用于 程序 自动 性能 预测 视点 提升 方法 | ||
【主权项】:
一种用于程序自动性能预测的视点提升方法,其特征在于:所述方法通过以下步骤实现:步骤一、定义基本块N执行次数的视点V,则利用二元组表示的基本块频率为(Ev,BV,N);其中,Ev表示视点V的实际运行次数,BV,N表示在视点V中预测到基本块N的频率;所述视点V即为计算循环基本块执行次数的指令的插入点;步骤二、对二元组表示的基本块频率(Ev,BV,N)中的视点V的实际运行次数Ev的量进行提升操作,且提升后的视点V满足其中,δ表示支配关系,即在视点V能够获取直接依赖的%start、%end和%stride三个变量的值;所述提升操作的过程为:步骤二一、选择循环的基本块次数的直接依赖的指令;步骤二二、将步骤二一选择的直接依赖的指令中只被使用一次的操作数赋值给目标集合;步骤二三、将步骤步骤二一选择的指令中多次使用的操作数的父循环的视点赋值给Depends集合;步骤二四、若Depends集合为空,则返回循环所在的基本块,并进行步骤二五的操作;否则,进行寻找视点V的操作;步骤二五、遍历目标集合中的指令,将指令插入到初始视点pos的终止指令之前;步骤二六、返回初始视点pos,即完成视点V的提升;步骤三、确定二元组表示的基本块频率(Ev,BV,N)中的视点V中预测到基本块N的频率BV,N的量;具体为:当选择的视点V与父循环在同一循环层时,确定视点V中预测到基本块N的频率BV,N表示为:Ev,(V→m)%tc;其中,m表示父循环所在的循环层;当选择的视点在第n个父循环之外时,将视点到达Preheader的概率依次乘以循环次数和下一个节点到达前驱基本块Preheader的概率,依次嵌套下去,得到视点V中预测到基本块N的频率为:其中,Ei表示第i个循环的头节点,Pi表示前驱基本块Preheader,Vi表示视点,%tci表示循环次数,i=1.2...n‑1,n;步骤四、令视点V的实际运行次数Ev与视点V中预测到基本块N的频率BV,N的乘积定义为基本块N的频率BN,即BN=Ev×BV,N;步骤五、每实际运行一次视点V都得到实际运行次数Ev,相应地,将视点V中预测到基本块N的频率BV,N的指令插入视点V,因此视点V在一次运行中总的基本块频率为
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510579026.0/,转载请声明来源钻瓜专利网。





