I am running the bandwidth analysis on the xeon machine using intel vtune.
The summary of the result shows average bandwidth
Package Bandwidth, GB/sec
Can you please explain me what package refers here? If application is running with single thread, which package value I should pick for the bandwidth.
You need to observe both, not only for packages but also for cores.
Even you run a single thread application, which work on mores cores unless you use processor-affinity function.
You can see how the threads of your application migrated over packages/cores changing viewpoint to "Hotspots" and timeline grouping to "Thread/HW Contest". If you have 2 packages with 4 cores each VTune will list them cpu_0,...cpu_3 for the first package and cpu_4..cpu_7 for the second one.
The average bandwidth is the sum of the values for the two packages -- not the average of the averages.
Even a single thread can generate memory traffic on both packages in several ways:
It is also possible that some of the memory traffic is due to other processes or to operating system activity. The values here seem too high to blame on OS activity, but it is theoretically possible. It is not generally possible to assign DRAM traffic to particular processes, so you need to ensure that you are running on an otherwise idle system to get reliable measurements.