[发明专利]针对应用程序的反馈优化方法有效
申请号: | 201810980602.6 | 申请日: | 2018-08-27 |
公开(公告)号: | CN109189478B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 孙凝晖;谭光明;谢震 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/30;G06F9/32 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇;李科 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 应用程序 反馈 优化 方法 | ||
本发明提供一种针对应用程序的反馈优化方法,所述方法包括:步骤1)根据执行应用程序的计算平台的体系结构特征,计算在所述计算平台上所述应用程序经编译得到的计算指令的执行时间以及执行所述应用程序所需的访存时间;步骤2)比较所述计算指令的执行时间和所述访存时间的大小,根据比较结果反馈相应的应用程序优化方案。本发明可以有针对性地给开发者反馈优化建议以及可以达到的预计效果,减少了应用程序开发者使用不同方法去尝试优化应用程序的时间,提高了应用程序优化的效率。
技术领域
本发明涉及计算机体系结构技术领域,尤其涉及针对应用程序的反馈优化技术。
背景技术
当前,越来越多的处理器集成了SIMD(单指令多数据流)指令集,如何充分发挥处理器中SIMD功能部件的性能成为当前应用程序开发者的难题之一。与此同时,随着集成Cache系统的芯片越来越多,应用程序如何良好地使用Cache并且符合当前Cache的设计模式,也是一个亟待解决的问题。针对这些问题,应用程序开发者在寻找最优的开发策略时,往往缺乏针对性的指导意见。
现有的针对应用程序的反馈优化工具往往只提示应用程序开发者当前应用程序有没有并行化,并不会分析应用程序的访存时间。如果应用程序的瓶颈在于访存,则并行化的计算指令对应用程序的执行效率没有任何帮助。Profiling是一种当前常用的针对应用程序的反馈优化工具,其根据指令计数器的分析来展示应用程序的运行过程,然而,Profiling对影响程序性能的主要因素没有进行分析。对于使用SIMD技术的应用程序而言,Profiling也没有考虑到数据是否对齐的问题,以及数据不对齐对应用程序性能所产生的影响。另外,尽管Profiling可以告知处理器中各级Cache的缺失率,但其没有分析Cache的缺失是否是拖慢应用程序性能的关键因素。
另外,现有的反馈优化方法无法估计优化后的应用程序的性能,应用程序开发者需要自己来预测性能的提升并且根据预测结果选择优化方法,这降低了应用程序优化的效率。
发明内容
为解决上述现有技术中存在的问题,本发明提供一种针对应用程序的反馈优化方法,包括:
步骤1)根据执行应用程序的计算平台的体系结构特征,计算在所述计算平台上所述应用程序经编译得到的计算指令的执行时间以及执行所述应用程序所需的访存时间;
步骤2)比较所述计算指令的执行时间和所述访存时间的大小,根据比较结果反馈相应的应用程序优化方案。
上述方法中,执行所述应用程序的计算平台的处理器包括多级缓存。所述访存时间包括:在所述计算平台上所述应用程序经编译得到的访存指令的执行时间;执行所述应用程序时从主存到缓存的数据传输时间;以及执行所述应用程序时缓存之间的数据传输时间。
上述方法中,步骤2)包括:比较所述计算指令的执行时间和所述访存时间的大小;如果所述计算指令的执行时间大于所述访存时间,则反馈关于优化所述计算指令的执行时间的信息;如果所述计算指令的执行时间小于所述访存时间,则反馈关于优化所述访存时间的信息;如果所述计算指令的执行时间等于所述访存时间,则反馈关于优化所述计算指令的执行时间和所述访存时间的信息。
上述方法中,反馈关于优化所述计算指令的执行时间的信息包括:如果所述计算平台支持SIMD指令集,并且所述应用程序没有使用适用所述计算平台的SIMD技术,则反馈关于使用适用所述计算平台的SIMD技术来优化应用程序的信息;如果所述计算平台不支持SIMD指令集或者所述应用程序使用了适用所述计算平台的SIMD技术,则反馈关于减少所述应用程序中的计算的信息。
上述方法中,反馈关于优化所述访存时间的信息包括:
步骤i)如果所述计算平台支持SIMD指令集,所述应用程序使用了适用所述计算平台的SIMD技术并且所述应用程序的数据不满足所述SIMD指令集对数据的对齐要求,则反馈关于对齐所述应用程序的数据的信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810980602.6/2.html,转载请声明来源钻瓜专利网。