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:
// one time __itt_domain *example_domain = __itt_domain_create("Example domain"); example_domain->flags = 1;
// 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);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?