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

Line-by-line profiling in VTune (hotspot)

Mona_J_
Beginner
519 Views

Hi,

I was wondering how I can do line-by-line profiling in VTune and if it's more precise than gcov line-by-line profiling or basically what's the advantage of using VTune over gcov if any. By now, I couldn't find any manual for line-by-line profiling and it just gives me profling at function level:

jalal@mona:/research/jalal/vtune$ /opt/intel/vtune_amplifier_xe_2013/bin64/amplxe-cl -R hotspots -q -format text -r test_result/

Function Module CPU Time:Self
--------------------- ------ -------------
mser mser 1.544
readImage mser 0.273
adv mser 0.112
[Import thunk mcount] mser 0.032
main mser 0.028
[Import thunk fread] mser 0.010

Please let me know if there's any such feature in VTune.

Best regards,

Mona Jalal.

0 Kudos
2 Replies
Mona_J_
Beginner
519 Views

Not that this is anything way better than the previous function-based profiling but you might find it useful:

/opt/intel/vtune_amplifier_xe_2013/bin64/amplxe-cl -report gprof-cc -result-dir test_result/ -format text -report-output output.txt

../profiler/gprof/jrfonseca.gprof2dot/gprof2dot.py -f axe output.txt | dot -Tpng -o output.png

You need to install gprof2dot from the following:

https://code.google.com/p/jrfonseca/wiki/Gprof2Dot

And attached is what I have as a result of this profiling.

0 Kudos
David_A_Intel1
Employee
519 Views

"gcov" sounds like a code coverage tool, which VTune Amplifier XE is not.  You can see profiling data at the line level by double-clicking on the function name after collecting results, but only lines that contributed significantly to the applications activity will have data associated with them.  VTune Amplifier XE does statistical sampling and collects execution points at various intervals, thereby reducing overhead and, yet, still giving a representative view of your applications activity.

Line-by-line profiling would have significant overhead, slowing your application down to perhaps unacceptable levels.  Again, a code coverage tool would be better suited to this need.

0 Kudos
Reply