SHORT Main memory read bandwidth in MBytes/s

EVENTSET
FIXC1 ACTUAL_CPU_CLOCK
FIXC2 MAX_CPU_CLOCK
PMC0  RETIRED_INSTRUCTIONS
PMC1  CPU_CLOCKS_UNHALTED
DFC0  DRAM_READS_LOCAL_CHANNEL_0
DFC1  DRAM_READS_LOCAL_CHANNEL_1
DFC2  DRAM_READS_LOCAL_CHANNEL_2
DFC3  DRAM_READS_LOCAL_CHANNEL_3
DFC4  DRAM_READS_LOCAL_CHANNEL_4
DFC5  DRAM_READS_LOCAL_CHANNEL_5
DFC6  DRAM_READS_LOCAL_CHANNEL_6
DFC7  DRAM_READS_LOCAL_CHANNEL_7
DFC8  DRAM_READS_LOCAL_CHANNEL_8
DFC9  DRAM_READS_LOCAL_CHANNEL_9
DFC10 DRAM_READS_LOCAL_CHANNEL_10
DFC11 DRAM_READS_LOCAL_CHANNEL_11

METRICS
Runtime (RDTSC) [s] time
Runtime unhalted [s] FIXC1*inverseClock
Clock [MHz]  1.E-06*(FIXC1/FIXC2)/inverseClock
CPI  PMC1/PMC0
Memory read bandwidth [MBytes/s] 1.0E-06*(DFC0+DFC1+DFC2+DFC3+DFC4+DFC5+DFC6+DFC7+DFC8+DFC9+DFC10+DFC11)*64.0/time
Memory read data volume [GBytes] 1.0E-09*(DFC0+DFC1+DFC2+DFC3+DFC4+DFC5+DFC6+DFC7+DFC8+DFC9+DFC10+DFC11)*64.0

LONG
Formulas:
Memory read bandwidth [MBytes/s] = 1.0E-06*(SUM(DRAM_READS_LOCAL_CHANNEL_*))*64.0/time
Memory read data volume [GBytes] = 1.0E-09*(SUM(DRAM_READS_LOCAL_CHANNEL_*))*64.0
-
Profiling group to measure read memory bandwidth drawn by all cores of a socket.
Since this group is based on Uncore events it is only possible to measure on a
per socket base.
