Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)

Package Average Bandwidth

Divino_C_
New Contributor I
565 Views

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:

UNC_IMC_GT_REQUESTS                          

UNC_IMC_IA_REQUESTS                   

UNC_IMC_IO_REQUESTS                   

UNC_IMC_DATA_READS                   

UNC_IMC_DATA_WRITES                    

Apreciate any help!

0 Kudos
7 Replies
Peter_W_Intel
Employee
565 Views

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. 

 

0 Kudos
Bernard
Valued Contributor I
565 Views

>>>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.

0 Kudos
Divino_C_
New Contributor I
565 Views

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
-------------------  -------------------------
UNC_IMC_GT_REQUESTS                          0
UNC_IMC_IA_REQUESTS                   47986891
UNC_IMC_IO_REQUESTS                 2547606759
UNC_IMC_DATA_READS                  2570678543
UNC_IMC_DATA_WRITES                   26949530

0 Kudos
Peter_W_Intel
Employee
565 Views

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.

 

 

0 Kudos
Bernard
Valued Contributor I
565 Views

 

>>>Furthermore, I could not find what these events means:

UNC_IMC_GT_REQUESTS                          

 

UNC_IMC_IA_REQUESTS                   

 

UNC_IMC_IO_REQUESTS                   

 

UNC_IMC_DATA_READS                   

 

UNC_IMC_DATA_WRITES                    

Apreciate any help!>>>

I think that "UNC" stands for "UnCore" and "IMC" stands for "Internal Memory Controller".

0 Kudos
Peter_W_Intel
Employee
565 Views

@ iliyapolak

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.

0 Kudos
Bernard
Valued Contributor I
565 Views

@Peter

You are welcome.

0 Kudos
Reply