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

Profiling single application

Dny
Beginner
701 Views
Hello All,

I want to use vtune to profile for profiling the application.

I use command line interface to profile benchmark using vtune, but as default behavior vtune profile complete system.
But I want to profile only one process (my application process).

Can anyone lease tell me how I can instrument the binary (link with some vtune library while compilation, without changing the source code) so that vtune will profile only my application process rather than profiling complete system?

Thanking you,

Regards,
Digambar
0 Kudos
3 Replies
David_A_Intel1
Employee
701 Views
When using VTune analyzer to "sample" your application, the analyzer does indeed sample the entire system. You actually want this behavior! If the analyzer tried to sample only your application, the overhead would be unacceptable and completely skew your results.

Instead, you filter the data, after collection, to only look at your application, e.g., process. Then you can view modules, i.e., shared objects or DLLs, and then you can select functions within those modules. This is what we call "drilling down."

Using the command line requires that you learn the command line options that are necessary to filter the results. Using the GUI makes it easier, you just dbl-click. So, for example, if my application is called app.exe, i could say:

> vtl view -hf -mn app.exe

This would display the "hot functions" for the module app.exe, after I had collected the data using a different command line. Please see the documentation for more details. On Linux, much of the information is also available using 'man' with the topics vtl, sampling, callgraph, and '7 source'.

0 Kudos
Dny
Beginner
701 Views
When using VTune analyzer to "sample" your application, the analyzer does indeed sample the entire system. You actually want this behavior! If the analyzer tried to sample only your application, the overhead would be unacceptable and completely skew your results.

Instead, you filter the data, after collection, to only look at your application, e.g., process. Then you can view modules, i.e., shared objects or DLLs, and then you can select functions within those modules. This is what we call "drilling down."

Using the command line requires that you learn the command line options that are necessary to filter the results. Using the GUI makes it easier, you just dbl-click. So, for example, if my application is called app.exe, i could say:

> vtl view -hf -mn app.exe

This would display the "hot functions" for the module app.exe, after I had collected the data using a different command line. Please see the documentation for more details. On Linux, much of the information is also available using 'man' with the topics vtl, sampling, callgraph, and '7 source'.

Hello Sir,

Thanks for your reply ,

I'm using vtune on x86_64 Linux system.
VTune Performance Analyzer 9.1 for Linux* build 152

Now I completed sampling of my application using command line , but whenever I give following command to view profiling information, vtl crashed with following error
/app/intel/vtune/bin/vtl: line 218: 30606 Segmentation fault "${BINARY}" "$@"

Can you please comment on this problem ?

Thanking you,

Regards,
Digambar
0 Kudos
srimks
New Contributor II
701 Views
Quoting - digambar.borse
Hello Sir,

Thanks for your reply ,

I'm using vtune on x86_64 Linux system.
VTune Performance Analyzer 9.1 for Linux* build 152

Now I completed sampling of my application using command line , but whenever I give following command to view profiling information, vtl crashed with following error
/app/intel/vtune/bin/vtl: line 218: 30606 Segmentation fault "${BINARY}" "$@"

Can you please comment on this problem ?

Thanking you,

Regards,
Digambar

Could you share the complete command given to sample your applucation using VTune CUI.

~BR
0 Kudos
Reply