Line-by-line profiling in VTune (hotspot)

Line-by-line profiling in VTune (hotspot)

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.

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

Attachments: 

AttachmentSize
Downloadimage/png output.png21.5 KB
Downloadtext/plain output.txt2.93 KB

"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.

Regards,
MrAnderson

Leave a Comment

Please sign in to add a comment. Not a member? Join today