In VTune General Exploration what does "average bandwidth per package" means? Is it the average of data transferred from memory to the socket per second, right? Can I split how much was due instructions and how much was due "data"?
Furthermore, I could not find what these events means:
Apreciate any help!
General Exploration with memory bandwidth monitors additional analysis of memory access. You can view Package Bandwidth in bottom of the report. It provides read/write data transaction from memory to the socket.
If you need to know more detail, please use bandwidth analysis, which provides more detail data such as Read or Write bandwidth data on eachj package in report, and you change "Grouping" to "Package /H/W Context /Function/ Call Stack" to know performance data on each core. Also, you can view data on "Core /Thread/ Function / Call Stack" by changing "Grouping" if you like.
There is bandwidth data categorized by Instruction and Data. You might evaluate the events such as I-Cache misses, ITLB overhead, front-end bandwidth - they are under "Front-end Bound" if you use General Exploration. You may estimate memory access for Instruction fetching...but I think that it impacts on memory bandwidth lightly.
BTW, UNC_* counting events are not supported in recent VTune, only limited uncore events are supported, for example OFFCORE_* events.
>>>In VTune General Exploration what does "average bandwidth per package" means>>>
I think that this is average bandwidth per socket. Here package is collection of physical cores.
Hello Peter and Illyapolak, thanks for commenting!
Peter, as a matter of fact, I'm using VTune 2013 Update 16 on a Ivy Bridge machine and the General Exploration report shows several UNC_* events, like this:
Uncore Event summary
Hardware Event Type Hardware Event Count:Self
@ Divino C
It's so surprised to me! I am using latest U17 and tried on IvyBridge machine.
$ amplxe-cl -version
Intel(R) VTune(TM) Amplifier XE 2013 (build 350583) Command Line Tool
Copyright (C) 2009-2014 Intel Corporation. All rights reserved.
$ amplxe-runss -event-list | grep UNC ; there is no UNC_* events supported (listed) on IvyBridge
Also, if try general-exploration with bandwidth on GUI, in bottom-up report - see "Hardware Event Count" items from combo-box at right-bottom in report. Only OFFCORE_* events are used.
>>>Furthermore, I could not find what these events means:
Apreciate any help!>>>
I think that "UNC" stands for "UnCore" and "IMC" stands for "Internal Memory Controller".
Thanks for your verification.
UNC means uncore and IMC means internal memory controller. They are hard to be captured from the core, but OFFCORE_* events can be used in VTune from one core to get RESPONSE from other cores.