程序性能数据获取与分析技术论文.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序性能数据获取与分析技术 * 1 1 2 车永刚 王正华 李晓梅 1 国防科大并行与分布处理国家重点实验室 长沙 410073 ( 2 怀柔装备技术指挥学院 北京 101416) * light_new@21 摘 要 分析比较了已有的各种程序性能获取与分析技术,重点考察了使用硬件计数器来获取性 能数据的技术,并介绍了微机上可用的两种工具——Vtune 和 PAPI 。 关键词 性能数据获取;硬件计数器;Profiling 1.前言 应用程序质量好坏的一个重要指标是它在目标计算机上的性能。高性能不仅意味着问题求解 时间的减少和开销的节约,还使某些对时间紧迫的任务变得可能。因此,应用程序实际性能的提 高是人们非常关心的问题,大规模科学计算程序更是需要针对目标平台进行高度的性能优化。 现代高性能微处理器广泛采用多流出、深度流水、乱序执行、自动动态前瞻(speculation , 或称推测执行)等技术,再加上多级存储层次的使用,大大提高了性能。但是程序实际获得性能 与机器峰值性能之间却相差很远。实际上,硬件优化的范围还很有限,更加高级和稳定的优化来 自优化编译器,而编译器优化有赖于精确的轮廓 (profile )信息来验证变换的代码,需要更加高 级的性能数据获取与分析工具[1] 。正是随着一些高级性能分析工具的出现,使得一些高级的性能 [2]等。 优化技术能够实现,如动态优化(Dynamic Optimization ) 一般来说,性能分析工具应该能回答或帮助程序员回答以下问题[3] : (1) 程序性能如何?即对程序性能的总体评价。 (2 ) 程序在性能方面的主要问题在哪里?将性能问题与程序单元(函数、循环或者基本 块、指令地址等)相关联,即性能瓶颈的定位。 (3 ) 引起程序性能瓶颈的主要原因何在?找准原因,才能对症下药。 本文主要探讨获取性能数据的各种方法与系统,并重点介绍了 Wintel 平台上可用的上两个 工具:Vtune 和 PAPI,并就它们的使用作了一些研究。 2 .性能数据获取与分析技术 2 .1 静态分析 静态分析就是从源程序出发,结合目标计算机的体系结构进行分析,预测程序的性能。这种 方法的代表有: [4] :Princeton 大学的 Somnash Ghosh 等提 Cache 不命中方程(Cache Miss Equation,CME ) 出,他们从源程序出发,结合存储层次模型参数,得到一组丢番图方程,求解之得到循环嵌套的 cache 不命中次数等指标。他们将这种方法应用于循环置换、数组 Pad 和循环分块等优化方法选 择及参数选取中。 Modal 性能模型[5] :这种模型基于对 Cache 和 TLB 行为的静态统计分析程序的存储性能,并 用于指导对 C 与 Fortran 程序的 bucket 分块优化。 Pure-C 开销模型[6] :由Katajainen 等提出,开始只是简单地统计程序中的各种指令操作来估 计程序的执行时间。经过 Bojesen 、Katajainen、Mortensen 等人的精化,能够预测 cache 不命中 [7] 和分支预测错误数 。 此外,Xavier Vera 等也提出了基于分析的方法来预测cache 命中率[8],对 Spec95 中的applu 程序,其 cache 命中率预测取得了较好的准确性。Hanlon 等建构了一个在矩阵相乘期间的 cache -1- [9] 不命中的分析模型 。 静态分析方法的优点:

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档