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

Function call visualization?

Rongdi_S_
Beginner
463 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
463 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

0 Kudos
1 Reply
DmitryVlad_P_Intel
464 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

 

0 Kudos
Reply