SHORT Main memory read bandwidth in MBytes/s

EVENTSET
FIXC1 ACTUAL_CPU_CLOCK
FIXC2 MAX_CPU_CLOCK
PMC0  RETIRED_INSTRUCTIONS
PMC1  CPU_CLOCKS_UNHALTED
UMC0C0  CAS_CMD_RD
UMC1C0  CAS_CMD_RD
UMC2C0  CAS_CMD_RD
UMC3C0  CAS_CMD_RD
UMC4C0  CAS_CMD_RD
UMC5C0  CAS_CMD_RD
UMC6C0  CAS_CMD_RD
UMC7C0  CAS_CMD_RD
UMC8C0  CAS_CMD_RD
UMC9C0  CAS_CMD_RD
UMC10C0  CAS_CMD_RD
UMC11C0  CAS_CMD_RD


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*(UMC0C0+UMC1C0+UMC2C0+UMC3C0+UMC4C0+UMC5C0+UMC6C0+UMC7C0+UMC8C0+UMC9C0+UMC10C0+UMC11C0)*64.0/time
Memory read data volume [GBytes] 1.0E-09*(UMC0C0+UMC1C0+UMC2C0+UMC3C0+UMC4C0+UMC5C0+UMC6C0+UMC7C0+UMC8C0+UMC9C0+UMC10C0+UMC11C0)*64.0

LONG
Formulas:
Memory read bandwidth [MBytes/s] = 1.0E-06*(SUM(CAS_CMD_RD))*64.0/time
Memory read data volume [GBytes] = 1.0E-09*(SUM(CAS_CMD_RD))*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.
