Problem: 'Events= Sample After Value (SAV) * Samples' Is Not True If Multiple Runs Are Disabled

Cause

The Allow multiple runs option is located in the Advanced section of the WHAT pane on the Configure Analysis window. By default, the option is disabled. As a result, the VTune Amplifier uses event multiplexing and runs the data collection only once. This approach lowers the precision of the collected data. So, the VTune Amplifier calculates the number of collected events using the formula: Events= Sample After Value (SAV) * Samples. But when the event multiplexing is enabled, this formula is modified as follows: Events= Sample After Value * Samples * Event Group Count, where the Event Group Count is the number of incompatible groups of events used during the collection. The Event Group Count multiplier is introduced based on the heuristics approach to fill the gaps when the VTune Amplifier collected events for one event group only.

For example, you have three groups of events: A, B and C, where event A1 is in group A. During the application run, the VTune Amplifier spends equal time on collecting each group of events. While group A is analyzed, event A1 has 10 samples with SAV of 10.000 and your application generates no A1 samples at all for the rest of the time. In this case, the accurate result is 100.000 events (10.000 * 10). But the VTune Amplifier provides the resultant number of events as 100.000 * 3 (A, B and C groups) = 300.000.

Solution

Select the Allow multiple runs option to disable event multiplexing and run a separate data collection for each event group. This mechanism provides more precise data on collected events.

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)