[发明专利]基于LLVM的科学计算程序自动性能预测方法有效

专利信息
申请号: 201510578801.0 申请日: 2015-09-11
公开(公告)号: CN105183650B 公开(公告)日: 2018-03-16
发明(设计)人: 张伟哲;何慧;谢虎成;郝萌;王学惠;韩硕;鲁刚钊 申请(专利权)人: 哈尔滨工业大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 哈尔滨市松花江专利商标事务所23109 代理人: 杨立超
地址: 150001 黑龙*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 llvm 科学 计算 程序 自动 性能 预测 方法
【说明书】:

技术领域

发明科学计算程序自动性能预测方法,属于程序性能预测技术领域。

背景技术

高性能计算是计算机科学的一个重要的分支,而性能则是高性能计算的关键特征。程序的执行时间是用户最关心的性能特征,用户之所以选择使用成百上千个处理器处理程序,必然是需要在有限的时间内得到程序运行结果。因此,预测并行程序在某个平台上执行的时间得到了越来越多的研究,这种技术称为程序性能评测。

性能评测方法可以分为动态分析和静态分析。

所谓动态分析的方法,就是通过小规模预测大规模,即在小的输入规模和并行度下多次测量,将得到的数据绘制在一个坐标图上并进行曲线拟合或是回归分析,最后通过曲线拟合得到的公式,就能够预测更大规模和更大并行度下的运行时间。

但这种方法的问题在于:

操作繁琐:因为需要运行许多小规模,同时同一规模下还需要多次运行取平均值,因此需要耗费大量的时间来搜集数据。而且程序执行时多种因素相互影响,平均值很难趋于稳定。而且还会要求大量的采样数据,于是更加使得预测代价增加。

预测范围小:在选择采样规模的时候,还必须尽量平均分布其间距。若是为了测量1024并行度,而选择的采样规模范围只有[0-128]这样一个小范围所拟合出来的曲线,很难保证在1024规模下是合理的。即使拟合函数在前面一段范围能很好的重合,也不能保证在大规模下也能拟合的很好。这样就限制了预测的应用范围。而且有的程序的并行度是有要求的,不能连续变化,这样,采样的数据点不能做到平均分布。

结果合理性不足:因为整个拟合过程都是从纯数学上分析的,忽略了许多程序内部的依赖,因此也就忽略了需要程序特征。这种分析出来的结果即使精度能够接受,也不能证明对于其他所有情况和实验平台也能够保持同样的精度。

对输入有限制:动态分析的干净的表达式是其优点,同样也是其缺点。首先它需要识别参数,这一步只能由人工标注完成,妨碍了自动化。

静态分析就是基于编译器来分析代码,获取程序的一些特征。LLVM就提供了一种静态分析的方法,即静态分支概率技术,下面会有相应的介绍。但是该方法存在相应的问题:

合理性不足:分支概率只是应用了先验概率和分支指令的类型,实际上并不能代表目标程序。

结果为常数:无论是多大的输入规模和多大的并行度,计算出来的基本块频率为常数,因为使用的先验概率就是常数。然而这并不能满足我们的要求。

发明内容

本发明为了实现科学计算程序的自动化分析,提高静态分析的精确性,同时能够最后给出程序预测的时间,进而提供了一种基于LLVM的科学计算程序自动性能预测方法。

本发明为解决上述技术问题采取的技术方案是:

一种基于LLVM的科学计算程序自动性能预测方法,所述方法的实现过程为:

步骤一、将待预测的源程序转化为LLVM中的中间代码bitcode;

步骤二、分析中间代码bitcode,从而获得识别通讯指令MPI的调用、循环次数、静态分支概率;

步骤三、对所述中间代码bitcode进行混合插桩,分别为:进行通讯指令MPI的通讯量及通讯类型的插桩,循环次数结合静态分支概率获得基本块执行次数进行插桩;

步骤四、对进行混合插桩后的中间代码bitcode进行代码删减,并进行优化处理;

步骤五、运行经优化处理后中间代码bitcode,得到llvmprof.out文件;

步骤六、分析llvmprof.out文件,并结合指令时间预测执行时间。

在步骤二中,分析中间代码bitcode获得循环次数的具体过程为:

根据公式%tc=(%end-%start)/%stride获得循环次数%tc,其中,%end表示循环结束值,%start表示循环起始值,%stride表示循环步进;

%end是真退出的终止指令,认为是比较指令icmp;

%start是在循环外离循环最近的写入循环归纳变量的存储指令;

分析基本块Header中的phi指令,获得含有%start、%stride的指令,从而分析得到%stride值。

通讯指令MPI的通讯量及通讯类型的插桩过程为:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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