Discussion:
Measure memory bandwidth
Dimitris Ganosis
2016-06-23 21:22:06 UTC
Permalink
I run an Intel(R) Xeon(R) CPU E5520 @ 2.27GHz and follow, apart from perf
list, this list
<http://oprofile.sourceforge.net/docs/intel-corei7-events.php>for the
available counters. I read this article
<https://yunmingzhang.wordpress.com/2015/07/22/measure-memory-bandwidth-using-uncore-counters/>
about memory bandwidth but unfortunately my CPU doesn't support these
counters.
I found, here
<https://software.intel.com/en-us/articles/detecting-memory-bandwidth-saturation-in-threaded-applications>,
that
Memory Bandwidth =
1.0e-9 * (UNC_IMC_NORMAL_READS.ANY + UNC_IMC_WRITES.FULL.ANY) *64 / (wall
clock time in seconds)
but my CPU doesn't support these two counters as well. The closest
available events in my CPU are uncore/qmc_normal_reads_any/ and
uncore/qmc_writes_full_any/

Are these events equivalent? Is it valid to measure memory bandwidth with
this formula?
Memory Bandwidth = 1.0e-9 *
(uncore/qmc_normal_reads_any/+uncore/qmc_writes_full_any/)*64 / (wall clock
time in seconds)

Thank you vere much!

Loading...