VTune(TM) Amplifier XE 报告输出gprof的格式
在VTune(TM)Amplifier XE 2011 中包含二类预定义的分析:
1. User-mode Sampling and Tracing Analysis:
热点分析(Hotspots Analysis),并行分析(Concurrency Analysis),锁和等待分析(Locks and Waits Analysis)
2. Hardware event-based sampling analysis
一般性研究(General Exploration),内存带宽(Bandwidth),访问冲突(Access Contention),分支预测(Branch Analysis),存储访问(Memory Access),端口饱和(Port Saturation),等。
用户可以在amplxe-gui(图形界面)使用上述预定义的分析类型,结果产生在响应的报告。
当然用户也可以使用命令行(参阅此文)收集性能,结果也可以在命令行输出或导入工具的图形界面。使用命令行的好处是用户可以自定义自己的分析类型,如:
1.热点分析中,自定义采样间隔,参阅此文
2.自选的CPU事件计数器,参阅此文
VTune™ Amplifier XE 定义了多种自己的输出格式,可以显示在工具的图形界面上。除此之外,工具还支持了gprof的输出格式。此种格式仅可以在命令行输出,不可以在图形界面上输出。
请看下面例子:
VTune的输出格式列出最热函数,而不是全部;gprof格式给出全部函数(即使占用CPU时间极少),且注重函数间调用关系
01.<PRE class=shell:nogutter:collapse name="code"><PRE class=shell name="code"># amplxe-cl -collect-with runss -knob interval=8 -knob collectSamplesMode=stack -- ./primes.icc 02.Determining primes from 1 - 100000
03.Found 9592 primes 04.Using result path `/home/peter/problem_report/r000runss'
05.Executing actions 75 % Generating a report 06.Summary
07.------- 08.
09.Elapsed Time: 0.883 10.CPU Time: 2.080
11.Executing actions 100 % done 12.
13.# amplxe-cl -report hotspots 14.Using result path `/home/peter/problem_report/r000runss'
15.Executing actions 75 % Generating a report 16.Function Module CPU Time
17.---------- ---------- -------- 18.findPrimes primes.icc 2.080
19.Executing actions 100 % done 20.
21.# amplxe-cl -report gprof-cc 22.Using result path `/home/peter/problem_report/r000runss'
23.Executing actions 75 % Generating a report 24.Index % CPU Time:Total CPU Time:Self Children Name Index
25.----- ---------------- ------------- -------- ------------- ----- 26.[0] 100.0 0.0 2.08 clone [0]
27. 0 2.080 start_thread [1] 28.
29. 0 2.080 clone [0] 30.[1] 100.0 0.0 2.08 start_thread [1]
31. 2.080 2.080 findPrimes [2] 32.
33. 2.080 2.080 start_thread [1] 34.[2] 100.0 2.08 0.0 findPrimes [2]
35. 36.[3] 0.0 0.0 0.0 _start [3]
37. 0 0 main [4] 38.
39. 0 0 _start [3] 40.[4] 0.0 0.0 0.0 main [4]
41. 42.Index by function name
43. 44.Index Function
45.----- ------------ 46.[3] _start
47.[0] clone 48.[2] findPrimes
49.[4] main 50.[1] start_thread
51.Executing actions 100 % done</PRE> 52.</PRE>