Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4995 Discussions

profiling information: analysis of all procedures and line-by-line breakdown?

forall
Beginner
171 Views
1) When comparing VTune 9.1 to the CVF profiler (for the same F90 code in several files), it seems that VTune reports the clock time (presumably CPU_CLK_UNHALTED) for a much smaller number of procedures - and it doesnt report the clock time for some procedures that definitely get called. For the moment, I am using the debug configuration, no optimizations. I am looking at the 'hotspots' panel after choosing sampling wizard. All other panels contain information about other EXE's

2) Also, when clicking to see the F90 source code, the column CPU_CLK is empty for all the lines. Does this mean I cannot see the (at least) approximate time associated with each line of code, as suggested in the help file?

are these behaviour normal or can they be fixed? they dont seem right, especially 1), but I dont see what settings could control this ...

thanks in advance!
0 Kudos
2 Replies
Peter_W_Intel
Employee
171 Views
Quoting - forall
1) When comparing VTune 9.1 to the CVF profiler (for the same F90 code in several files), it seems that VTune reports the clock time (presumably CPU_CLK_UNHALTED) for a much smaller number of procedures - and it doesnt report the clock time for some procedures that definitely get called. For the moment, I am using the debug configuration, no optimizations. I am looking at the 'hotspots' panel after choosing sampling wizard. All other panels contain information about other EXE's

2) Also, when clicking to see the F90 source code, the column CPU_CLK is empty for all the lines. Does this mean I cannot see the (at least) approximate time associated with each line of code, as suggested in the help file?

are these behaviour normal or can they be fixed? they dont seem right, especially 1), but I dont see what settings could control this ...

thanks in advance!

Hi,

1) VTune Analyzer's sampling data collection is system wide profiling - that is why you saw other EXE's data in the report. You said "the clock time (presumably CPU_CLK_UNHALTED) for a much smaller number of procedures - and it doesn't report the clock time for some procedures that definitely get called" - when CPU_CLK_UNHALTED.CORE event occurred, sampling doesn't capture the data. Sampling just decreses value of event counter register (VTune Analyzer set default SAV -"Sample After Value" number). When theevent count register down-flow occurred, samplingcaptures the data. That is why some functions were executed but no sampling data - they are not hot functions.

For using samplesof CPU_CLK_UNHALTED.CORE, approximated elapsed time of source line/function/exe(dll) = samples_count*SAV / CPU_Frequency (seconds) (we don't consider overheads about a) CPU interrupting time, and b) datasaving time, c) remained CPU ticks in counter registers).

2. We can't measure time-spending on source linewhich has noannotated performance data. You can use call graph data collection - it helpsyou to figure out all called functions on time-spending, but overheads arehigher than sampling data collection.

Regards,Peter
0 Kudos
TimP
Honored Contributor III
171 Views
Pursuant to what Peter said, if your sampling run is under 30 seconds, assuming you have set debug/Zi symbols in your compilation, you would likely see more subroutines in the hot spot view by reducing the sample after values. Significant reduction in sample after values could make the sampling overhead significant, but extremely short runs limit the accuracy/repeatability of profiling anyway.
0 Kudos
Reply