Hello,
I'm having problems with my analysis results in VTune. Whenever i do an analysis, hardware event-based metrics behave strangely. Their "aggregator" (e.g. Bad Speculation) seems to show correct values, but whenever i expand that, detailed metrics (e.g. Branch Mispredict, Machine Clears) always show zero (the blue bar is missing).
To illustrate, here is a C++ code snippet that should trigger loads of L1 cache misses:
/* ... */ /*kEvilOffset is 0x1000, accessing data with this offset should result in a large amount of L1D replacements (assuming a 32KB L1 data cache)*/ __declspec(noinline) void DoStuff() { for (size_t i = 0; i < kAllocSize - kEvilOffset; ++i) for (size_t j = i; j < kAllocSize; j += kEvilOffset) { data[i] *= 39; } } /* ... */
After running a "General Exploitation (Sandy Bridge / Ivy Bridge / Haswell)" analysis, the blue bar for "Back-End Bound" is very wide (which - by the way - should be correct, since cache misses are in that category), but when i expand that category, there are no blue bars at all for any of those events. I also attached two screenshots. Am i doing something wrong?
I'm compiling with Intel C++ 14.0, and using VTune Amplifier XE 2013 Update 15 (build 328102).