[发明专利]基于LLVM的科学计算程序自动性能预测方法有效
申请号: | 201510578801.0 | 申请日: | 2015-09-11 |
公开(公告)号: | CN105183650B | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | 张伟哲;何慧;谢虎成;郝萌;王学惠;韩硕;鲁刚钊 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 杨立超 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于LLVM的科学计算程序自动性能预测方法,属于程序性能预测技术领域。本发明的目的是实现科学计算程序的自动化分析,提高静态分析的精确性,同时能够最后给出程序预测的时间。技术要点将预测的源程序转化为LLVM中的中间代码bitcode;分析中间代码bitcode获得识别通讯指令MPI的调用、循环次数、静态分支概率;对所述中间代码bitcode进行混合插桩;对进行混合插桩后的中间代码bitcode进行代码删减以优化处理;运行经优化处理后中间代码bitcode得到llvmprof.out文件;分析llvmprof.out文件结合指令时间预测执行时间。本发明方法适用于科学计算程序的性能预测。 | ||
搜索关键词: | 基于 llvm 科学 计算 程序 自动 性能 预测 方法 | ||
【主权项】:
一种基于LLVM的科学计算程序自动性能预测方法,其特征在于,所述方法的实现过程为:步骤一、将待预测的源程序转化为LLVM中的中间代码bitcode;步骤二、分析中间代码bitcode,从而获得识别通讯指令MPI的调用、循环次数、静态分支概率;具体过程为:根据公式%tc=(%end‑%start)/%stride获得循环次数%tc,其中,%end表示循环结束值,%start表示循环起始值,%stride表示循环步进;%end是真退出的终止指令,认为是比较指令icmp;%start是在循环外离循环最近的写入循环归纳变量的存储指令;分析基本块Header中的phi指令,获得含有%start、%stride的指令,从而分析得到%stride值;步骤三、对所述中间代码bitcode进行混合插桩,分别为:进行通讯指令MPI的通讯量及通讯类型的插桩,循环次数结合静态分支概率获得基本块执行次数进行插桩;步骤四、对进行混合插桩后的中间代码bitcode进行代码删减,并进行优化处理;步骤五、运行经优化处理后中间代码bitcode,得到llvmprof.out文件;步骤六、分析llvmprof.out文件,并结合指令时间预测执行时间。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510578801.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种自组网自动化测试方法及装置
- 下一篇:一种基于数据匹配的仿真回放方法