Analyzers
Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)

Function call visualization?

Rongdi_S_
Beginner
166 Views

Hi, everyone:

        I'm a beginner of the vtune tool. I want to know how to generate a function call graph like valgrind or gperftool ? Thus I can have a better understanding of the source code.  

 

0 Kudos
1 Solution
DmitryVlad_P_Intel
166 Views

Hello,

You can observe a program structure by running a "Basic Hotspots" analysis and opening a "Top-down Tree" tab.

There you'll see how routines called each other and how much time every routine consumes.

vTune Amplifer is a tool for understanding performance botlenecks and optimizing application.

My recommendation to start applying the tool to your application is to run a "Basic Hotspots" analysis and see the hottest routines list in the "Bottom-up" tab. Pick-up the hottest routine by selecting it in the grid. On the right pane you'll see a callstack for this hot routine. This callstack will give you an information about how this routine was called. You can browse through sources by clicking function names. If there are multiple callstacks you can iterate between them in the right pane or you can expand the routine callstacks in the grid by clicking the triangle next to the routine name. Then you can select the most time consuming callstack for investigations.

This approach will give you desired program structure information for starting optimization procedure.

Make sure your program is compiled with debug information to be able to se function names and sources. 

Regards,

Dmitry

 

View solution in original post

1 Reply
DmitryVlad_P_Intel
167 Views

Hello,

You can observe a program structure by running a "Basic Hotspots" analysis and opening a "Top-down Tree" tab.

There you'll see how routines called each other and how much time every routine consumes.

vTune Amplifer is a tool for understanding performance botlenecks and optimizing application.

My recommendation to start applying the tool to your application is to run a "Basic Hotspots" analysis and see the hottest routines list in the "Bottom-up" tab. Pick-up the hottest routine by selecting it in the grid. On the right pane you'll see a callstack for this hot routine. This callstack will give you an information about how this routine was called. You can browse through sources by clicking function names. If there are multiple callstacks you can iterate between them in the right pane or you can expand the routine callstacks in the grid by clicking the triangle next to the routine name. Then you can select the most time consuming callstack for investigations.

This approach will give you desired program structure information for starting optimization procedure.

Make sure your program is compiled with debug information to be able to se function names and sources. 

Regards,

Dmitry

 

Reply