Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Michael_Greene
Beginner
38 Views

Do frames actually work?

I am trying to profile particular segments of my code to analyze latency on one code path. I have seen this article which describes the use of User APIs to do something like this.
I am linking against libittnotify.a and using #include "ittnotify.h" and have no problems compiling and linking code very much like the sample code in that article:
[cpp]// one time __itt_domain *example_domain = __itt_domain_create("Example domain"); example_domain->flags = 1;[/cpp]
[cpp]// in event handler, each time it is called: __itt_frame_begin_v3(example_domain, NULL); // code whose latency problems I want to analyze __itt_frame_end_v3(example_domain, NULL);[/cpp]
I then run my executable using amplxe-cl -collect hotspots, exercising this code path many times. However, when I launch the VTune Amplifier XE 2011 GUI (build 206420)to look at the results, if I try to change the Grouping to one of the Frame ones, it only shows "No data to show. No date is available." which is not what I would expect based on that article.
Do frames not work on Linux? Is there something wrong with the way I setup my code? Should I be using a different version to get this to work?
0 Kudos
3 Replies
Peter_W_Intel
Employee
38 Views

I have put updated example code in this thread http://software.intel.com/en-us/forums/showthread.php?t=86353for latest tool's update, but I only tested it on Windows.
It seems that example code can work on Linux, also. No code change is required, use -

#icc -g matrix.c -I/opt/intel/vtune_amplifier_xe_2011/include /opt/intel/vtune_amplifier_xe_2011/lib64/libittnotify.a -lpthread -o matrix

# amplxe-cl -version
Intel VTune Amplifier XE 2011 Update 8 (build 221625) Command Line Tool
Copyright (C) 2009-2012 Intel Corporation. All rights reserved.

# amplxe-cl -collect hotspots -- ./matrix

You can use amplxe-gui to check report, and select Grouping "Frame Domain / Frame / Call Stack" to see expected result.


Regards, Peter
Michael_Greene
Beginner
38 Views

Thanks, I'm not sure what exactly was going wrong but I retried from the ground up and it works now. However, one problem I have is that my typical frame time is substantially smaller than the sampling interval, which will remain true even if I reduce the sampling interval within reasonable bounds. I am trying to analyze scenarios where instead of my processing time being, e.g., 20us it jumps to 300us.
Is there a way to do instrumenting/tracing profiling in VTune, or does it only do statistical/sampling profiling?Does Intel have an instrumenting/tracing profiler that works on recent versions of Linux? The PTU tools don't seem to support Linux 3.0+.
Peter_W_Intel
Employee
38 Views

Yes. The tool only does statistical sampling, no instrumenting on binary or source.
Reply