[VTune工具使用心得.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[VTune工具使用心得

VTune工具使用心得0.??概述VTune是Intel一个比较强大的性能分析软件。主要包括三个小工具:(1)Performance Analyzer:性能分析,找到软件性能比较热的部分,一般也就是性能瓶颈的关键点,帮助我们收集数据发现问题,至于Analyzer这个功能,有点大言不惭了,还得靠各位大家自己分析了,当然个人认为这一点会是Intel下一步强化该工具的重点。(2)Intel Threading Checker:用于查找线程错误,?能够检测资源竞争、线程死锁等问题.?大家程序在并行化后,可以通过Threading Checker?检测一下有没有多线程相关的错误。(3)Intel Threading Profiler:线程性能检测工具,多线程化有可能会有负载比平衡,?同步开销过大等等线程相关的性能问题。该工具可以帮你发现每一个线程每一时刻的状态。可以简单认为该工具是如下的使用顺序:(发现可以多线程的代码瓶颈)---进行并行等编码阶段---(发现多线程中错误部分)---改正代码bug阶段---(发现多线程中有待提高的瓶颈部分)---优化代码性能阶段。可以看出这套软件针对代码并行的实现有点服务到家的感觉,核心思想就是:”找茬”。另外推荐一个配套的工具,就是Intel C++?编译器,可以集成到VS2005或者命令行下,配套使用应该会一些更好的效果,传说中对Intel?的C++?编译器好像都是赞不绝口的,而且都是自家的东西,Intel肯定不会亏待它的。还有一个网上推荐的东西,直接粘贴过来,没有了解过,不好多加评论:?Intel MKL?函数库,提供了VML?函数,?这些函数可以对超越函数(sin, cos, exp, log等)进行优化。此外友情提示一下,如果你使用的是AMD的CPU芯片,并一心决定以后继续使用它的话,建议同学你就不用往下看了,理由就不告诉你了^_^本文章主要是对VTune的一个初级使用的心得总结,有什么不对的大家多扔板砖,算是一个抛砖引玉的作用吧,欢迎大家一起总结完善!1. Intel Performance Analyzer对于该工具使用比较简单,不过直接说一下,软件名称是性能分析,实际上只是对软件操作进行时间上的总结和统计,用户自己需要根据数据进行分析,总体来说,该性能分析工具同IBM的性能分析工具大致一样,个人认为还不如IBM的好用的,呵呵。基本操作:(1)新建一个工程:File-new project,一般选Quick Performence Analysis Wizard就可以了。(2)选择要测试的程序,在弹出的对话框中有Application to Launch,填入Debug文件下的exe程序就行了。(3)Run Activity:按工具栏上的绿色三角按钮就行了,一般会自动运行程序,这时你执行你想要的操作。本来还有些配置可以配的,不过比较麻烦,一般的分析就算了。(4)完了就会生成很多表,最麻烦的就是怎么看这些数据。左边有这些数据的一个树型列表,可以选择看哪个统计表,中间就是相应的图表现实,图表下面还有一个Legend窗口,解释图表中的符号各是什么意思。?上图为分析的主界面。对于分析图表的结果,看上去比较多,其实真正有用的就一个(个人看法),首先出现的就是一个框架的分析结果,有一个柱状图来体现各种dll和进程的时间占用统计,当鼠标在每一个柱子上停留,ToolKit会显示该进程的平均执行时间和执行的次数,右侧Summary概述该进程下占用的比例等统计,下面的legend说明机器的配置和一些名次解释。选择进入相应的进程,则看到对应进程中各个函数的对应信息,在此不再详细说明。这时通过统计图可以发现程序性能主要的花费部分,这时就要运用你对代码的了解和分析、经验发现性能提升的地方,也就是你的性能最应该和最显著提高,这时点击你关系的函数,如果你有该函数的实现文件(cpp),则可以结合Source File进行一些简单的分析,这里可以给你提供源代码和汇编码两种方式来进行体现,供大家选择。在Sampling Results中提供该进程下各个函数的时间统计,定位到每一个执行函数上(通常就是消耗时钟时间最多的,即关键代码)。如图所示:比如上面这个分析结果,该函数是对图片像素进行优化分类、分割处理、生成结果的功能,具有大量的数字运算和循环,这也是我们最应该和最有效采用多线程等手段提升效率的部分。源码右边的列表中给出了一些指令的执行次数和执行时间。经过分析又可以定位一些比较重点改进的指令。总结此工具,和IBM的性能分析工具作用大致相同(个人感觉还是推荐IBM的,其实都差不多,主要是先入为主了,而且图形界面比较直观),该工具的Call Graph选项也和IBM那样支持图形分析,但是我在机子上运行会崩溃,不知道为什么。该工具

文档评论(0)

huhongjun + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档