Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Rongdi_S_
Beginner
85 Views

Function call visualization?

Jump to solution

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
85 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
86 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

Reply