Number of events supported simultaneously

Number of events supported simultaneously


I am using Vtune to profile an application in a sandy bridge machine. I think I saw somewhere(not sure) that sandy bridge supports only 4 performance counting events simultaneously. In Vtune for example in client analysis(snb-client), it collects data from many more events(more than 20 atleast). Is it the case it we can put any number of counters together in one execution?

Also is there any difference between Precise events and Precise event based sampling. In old documentation there was a section 'Precise event' and in the new ones it is 'Precise event bases sampling'. I assume it is just a change in terminology.

The events seems to be different in them. For example, , tells INST_RETIRED.ANY_P as a precise event. Also it lists INST_RETIRED.ANY as the non precise version. 

But in , the precise events section does not have a INST_RETIRED.ANY_P, but with custom analysis in Vtune I am able to sample using this event. I tried both events(precise and non precise) and both worked. Is there a page where I can get the complete list of supported events or a command that I can try on my system?

Thank you


2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Hi Sriraj:

First, VTune Amplifier provides a mechanism called "multiplexing" to enable collection of any number of events during a run (see description in this help topic).  All processors have a limited number of registers that can be programmed to generate interrupts based on event counts.  There is an option in the Project Properties where you can turn multiplexing off ("Allow Multiple Runs").  When you do that, VTune Amplifier will run your application multiple times, collecting as many events as possible (some events cannot be collected with other events), until all events have been collected.

Second, event names are specific to the microarchitecture of the processor.  They very often change between microarchitectures. To list all the events available on your system, execute the command 'amplxe-runss -event-list'.  The events are all documented (to one degree or another) in the product documentation (see the help menu).

Leave a Comment

Please sign in to add a comment. Not a member? Join today