| 最终修改于 : | 2009年04月03日 04:06 |
评级 |
|
生成应用程序后,即可对 <install-dir>/samples/matrix 目录中所提供代码的性能进行分析。英特尔® Parallel Amplifier 提供了多种类型的分析,可收集不同类型的性能数据。在此步骤中,您将运行热点(Hotspot)分析来收集数据、查看结果并深入观察造成某个问题的相关源代码。热点分析可帮助您理解应用程序将运行时间耗费在哪些地方,并识别出最耗时的函数。
注意: 要确保应用程序的性能表现基本保持一致,请在执行其他软件数量最少的系统上完成整个调优过程。
建立测试基准
为优化前的应用程序建立一个性能测试基准:
1. 在 Visual Studio* 外启动矩阵应用程序,获得最准确数字。
注意:运行和分析应用程序之前,建议您尽量关闭计算机上运行的其他软件,以获得最准确的结果。
2. 应用程序运行后,即可在输出结果中看到执行时间:
![]() |
基准必须可测量且可再现,只有这样,才能作为与未来修订版相比较的基础。 |
在应用程序调优阶段中,执行时间就是您的性能测试基准。
注意:可多次运行应用程序以使用平均值。此方法有助于最小化由系统瞬时活动造成的偏差。
查找热点
运行热点分析识别热点--耗时较大的函数/代码段。
1.在 Amplifier 工具栏中,选择 Hotspots - Where is my program spending time running?

2.单击 Profile
按钮。
Amplifier 启动计算矩阵变换的矩阵应用程序并退出。
数据收集完毕后,Hotspots:Bottom-up 窗口将打开:
|
|
|
![]() |
分析结果
Hotspots:Bottom-up 窗口中所列第一个函数,也是占用时间最多的函数 algorithm_3。重点关注此函数,看看能否找到提升性能的方法。
双击 algorithm_3 函数查看其源代码。请注意,第 222 行代码占用的 CPU 时间最多。
|
|
|
|
不可编辑的应用程序源代码。如果函数符号信息有效,则此部分将打开。执行时占用 CPU 时间最多的代码行将突出显示。 |
|
|
特定代码行占用的处理器时间。如果热点是系统函数,则默认情况下它所占用的时间计入调用该系统函数的用户函数。 |
|
|
热点浏览按钮,用于在执行时间较长的代码行之间切换。 |
|
|
源文件编辑器按钮,用于打开和编辑代码。 |
要优化该示例代码,可尝试为应用程序添加线程,使之能够更好地在多核处理器上执行。您必须确定,应用程序中何处进行多线程化可以得到最佳的性能。
| 2009年04月18日 01:33
yefengnidie
|
怎么没有找见啊 |
| 2009年04月21日 08:03
thorlee
| 学习中~~~软件哪里有下啊?parallel studio中有带吗??? |
| 2009年04月22日 07:50
thorlee
| 为什么我VC的工具一栏下面没有Amplifier呢??? |
| 2009年04月24日 06:50
刘承诚 | 我的是AMD处理器 是不是不能有这个工具啊!! |
| 2009年04月25日 03:54
rong | 和上楼一样问题 |
| 2009年04月25日 23:40
livewarer2009
| 对啊,我的VS2005的TOOLS下也没有Amplifier选项啊!怎么办啊?重新安装行不? |
| 2009年04月28日 06:50
scturtle2009 |
转自Corsair: “可以不用卸载 Amplifier 的~ 更换语言和区域选项 中的非unicode选项为英文 然后在cmd窗口中切换到 Intel\Parallel Studio\Amplifier\bin32 目录 输入ampl-vsreg.exe integrate vs2005 或者 vs-reg-tool.exe integrate vs2005 其中vs2005 根据自己的vs版本选择 vs2005/vs2008 终于装上啦~~ O(∩_∩)O~” |
| 2009年05月02日 22:23
july | 我安装了vs2008(中文版),和intel parallel studio 但是只在vs2008中看见intel parallel composer ,能不能详细指教一下? |
| 2009年05月07日 08:40
kenvifire7 |
控制台下显示:can't get CPU frequency 还弹出一个警告窗口:C++ Runtime Error! This application has requested the Runtime to terminate it in an unsual way. Please contact the application's support team for more information. 这是怎么回事?难道是因为我用的AMD的... |
| 2009年05月08日 23:12
faireprogram1987
|
需要帮助啊!!我打开了intel amplifier 下的matrix 这个例子.然后重新编译.最后.在 Amplifier 工具栏中,选择 Hotspots - Where is my program spending time running? 但是显示的是can't get cpu frquency 并且弹出一个警告窗口:c++ Runtime Error! 我家用的cpu型号是AMD Athlon(tm) 64 Processor 3000+. |
| 2009年05月11日 06:26
huotui88
| 第一次接触Amplifier ,不太明白~~ |
| 2009年06月08日 01:04
biscuitlife
| 努力学习中。。。。 |
| 2009年07月08日 03:52
欲获得技术支持,请访问软件支持页面. | 欲获得技术支持,请访问软件支持页面.欲获得技 支持,请访问软件支持页面.欲获得技术支持, 访问软件支持页面.欲获得技术支持,请访问软件 支持页面.欲获得技术支持,请访问软件支持页面. 欲获得技术支持,请访问软件支持页面.欲获得技 支持,请访问软件支持页面.欲获得技术支持, 访问软件支持页面.欲获得技术支持,请访问软件 支持页面.欲获得技术支持,请访问软件支持页面. 欲获得技术支持,请访问软件支持页面.欲获得技 支持,请访问软件支持页面.欲获得技术支持, 访问软件支持页面.欲获得技术支持,请访问软件 支持页面.欲获得技术支持,请访问软件支持页面. 欲获得技术支持,请访问软件支持页面.欲获得技 |

ztz0223
80
状态分数:
30
如果熟悉vs自带的性能分析器,这个软件也应该是非常容易的呵呵