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

Profiling one specific function

chhenning
Beginner
475 Views
Hi there, is it possible to profile a specific function with Intel Amplifier? If so where would I find documentation for such feature?
Thanks,
Christian
0 Kudos
3 Replies
Rob5
New Contributor II
475 Views

Christian,

I may need to know more about what you wish to accomplish. However, within Intel VTune Amplifier XE and VTune you can sort by the function column or change the grouping to Function / Call Stack then sort the first column which would also sort by function allowing you to focus in on a specific function.

The User APIs may be useful. For example the Frame API or Collection Control API.

Frame API:
http://software.intel.com/sites/products/documentation/hpc/amplifierxe/en-us/lin/ug_docs/olh/common/frame_api.html
http://software.intel.com/en-us/articles/use-_itt_frame_-apis-from-intel-vtune-amplifier-2011-xe-to-analyze-each-frame-in-critical-code-area/

Collection Control API:
http://software.intel.com/sites/products/documentation/hpc/amplifierxe/en-us/lin/ug_docs/olh/common/pause_resume_api.html

Intel Amplifier provides low-overhead statistical sampling technology. Additional information about User-Mode sampling for analysis like Hotspots, Locks and Waits, and Concurrency can be found here:http://software.intel.com/sites/products/documentation/hpc/amplifierxe/en-us/lin/ug_docs/olh/common/stack_collection.html

Thanks
Rob

0 Kudos
chhenning
Beginner
475 Views
Thanks Rob, for your detailed answer. Here is what I'm trying to do. I have a fairly big software product wrapped in a dll. To have Intel Amplifier run on the complete dll would introduce a big overhead and possibly slow down the process too much. Also I'm afraid that too much data will be generated which could be a pain to examine.

Basically I know what functions I like to profile and was hoping that Intel Amplifier can support such use case.

Right now I'm using my own high precision timer code for my profiling.

Regards,
Christian
0 Kudos
Rob5
New Contributor II
475 Views

Christian,

Currently Intel VTune Amplifier XE does not have the specific functionality that you described. The hardware based sampling has very low overhead. Filtering the data is very easy. There are various filtering controls at the bottom of the views Bottom-up and Top-down Tree views. Once regions are identified you can drill into the source to locate the code lines where the time is being spent.

The following page provides a good example of a usage model and outlines how one might go about interpreting / exploring hotspot analysis to increase performance: http://software.intel.com/sites/products/documentation/hpc/amplifierxe/en-us/lin/ug_docs/index.htm#olh/ui_ref/pane_app_to_launch.html

As previously mentioned, Amplifier XE has sorting and filtering functionality in the GUI to control what you are viewing. There is also pause / resume controls in the GUI to control when data is gathered during the application run.

In addition, there are various project properties that can be employed to limit the amount of data collected. For example, setting data and time limits, Setting the application duration time estimate (A longer time duration increase sampling intervals), how to handle child processes, etc.

Have you run an Intel VTune Amplifier XE on your application to see if the methodology meets your needs?

Thanks
Rob

0 Kudos
Reply