前言
Intel VTune Amplifier是intel公司开发的一款强大的性能瓶颈分析软件,能帮助开发者找出性能影响因素,它支持Linux* OS,Windows* OS,Android* OS等目标平台和VMWare,KVM等虚拟平台,支持独立下载安装和集成安装。
使用步骤
如果使用icc中的vtune
-
使用Xmanager中的Xshell进行连接(不能使用默认Xshell),必须先source icc环境,使用icc -v看到icc版本信息说明icc环境准备成功。
-
如果要测试GCC编译的程序或其它的程序,也先要source 对应的环境(例如分析benchmark)。
-
启动amplxe-gui,并新建工程和新建分析,如图1所示:
-
选择需要分析的文件和输入参数以及源码文件,如图2所示:
注意:
1)如果测试例子是benchmark,为了避免可能出现其它未知错误,可执行文件请选择run目录下面的;2)如果运行参数是输入集的话请使用<,例如<input.in;3)便于结构分析,请选择源码文件位置。 -
点击choose analysis,选择基本热点分析(Basic Hotspots)或者高级热点分析(Advanced Hotspots),Advanced Hotspots需要在intel平台才能支持,如图3所示:
-
最终运行结果总体摘要信息,如图4所示:
-
自下往上分析(Bottom-up)中,默认分组为Function/Call Stack,Loop mode为Function only,其中分析出的就是程序中最热的函数区域,如图5所示:
-
分析热函数?点击对应函数的view source,显示出对应Source区域,点击Assembly按钮查看源码对应的汇编码等BB快的信息。
-
调用与被调关系(Caller/Callee)显示函数的调用关系、CPU耗时、来源模块、起始地址等信息。
vtune功能非常齐全,本文仅对最基础使用做了简单介绍,更多关于Bottom-up,Caller/Callee,Top-down Tree和Platform详细信息可查阅Intel VTune Profiler文档。
常见问题说明
- VTune点击开始分析之后,本来10分钟运行结束的程序一直不会结束?
- 很可能是因为你的输入写错了,导致程序运行不能停止,修改Analysis Target下的Application paramsmenters。
- 对热函数view source,只能看到汇编码,看不到对应的源码?
- 原因1:你的程序生成可执行的时候不是可调试的,加上-g选项。原因2:选择分析文件时你没添加或没添加对源码文件位置。
- VTune分析时很快就结束运行,而且报license错误?
- 重新source icc和其它环境再分析即可。