<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Performance Counter for DRAM Per-Rank Memory Access in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1263575#M7838</link>
    <description>&lt;P&gt;I have an `Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz` (`Haswell`) processor. I need to retrieve the &lt;STRONG&gt;number&lt;/STRONG&gt; of accesses to each DRAM &lt;STRONG&gt;rank&lt;/STRONG&gt;, over time, to &lt;STRONG&gt;estimate&lt;/STRONG&gt; its power consumption. Based on page `261` of the chipset documentation (i.e., &lt;A href="https://cdrdv2.intel.com/v1/dl/getcontent/328902" target="_self"&gt;Datasheet, volume 2 (M- and H-processor lines)&lt;/A&gt;&amp;nbsp;), I could use the 32-bit value in register, `RAM—DRAM_ENERGY_STATUS`, as a DRAM energy &lt;STRONG&gt;estimation&lt;/STRONG&gt;. But I need &lt;STRONG&gt;rank-level&lt;/STRONG&gt;&amp;nbsp;energy estimates. I could also use &lt;STRONG&gt;core&lt;/STRONG&gt;&amp;nbsp;and &lt;STRONG&gt;offcore&lt;/STRONG&gt;&amp;nbsp;DRAM access performance counters to &lt;STRONG&gt;estimate&lt;/STRONG&gt; power consumption, but, as mentioned before, I need &lt;STRONG&gt;per-rank statistics&lt;/STRONG&gt;. &lt;STRONG&gt;Besides that&lt;/STRONG&gt;, they report &lt;STRONG&gt;whole-system&lt;/STRONG&gt;&amp;nbsp;stats, while energy is &lt;STRONG&gt;calculated per-rank&lt;/STRONG&gt;. They also do &lt;STRONG&gt;not&lt;/STRONG&gt; report many DRAM accesses.&lt;/P&gt;
&lt;P&gt;Therefore, `IMC` counters should be the &lt;STRONG&gt;ideal&lt;/STRONG&gt;&amp;nbsp;choice. `Perf` does &lt;STRONG&gt;not&lt;/STRONG&gt;&amp;nbsp;support these counters. I tried to use &lt;A href="https://github.com/opcm/pcm/blob/master/pcm-memory.cpp" target="_self"&gt;PCM-Memory&lt;/A&gt;&amp;nbsp;to access `IMC` counter information. But `/sys/bus/event_source/devices/uncore_imc` is &lt;STRONG&gt;not&lt;/STRONG&gt; mounted by the kernel (the version is `5.0.0-37-generic`) and the tool does &lt;STRONG&gt;not&lt;/STRONG&gt; detect the CPU. I tried to access &lt;STRONG&gt;uncore&lt;/STRONG&gt;&amp;nbsp;performance counters, &lt;STRONG&gt;manually&lt;/STRONG&gt;. &lt;STRONG&gt;Whole-system&lt;/STRONG&gt;&amp;nbsp;DRAM access counters are documented, &lt;A href="https://software.intel.com/content/www/us/en/develop/articles/monitoring-integrated-memory-controller-requests-in-the-2nd-3rd-and-4th-generation-intel.html" target="_self"&gt;here&lt;/A&gt;&amp;nbsp;(They were &lt;STRONG&gt;not&lt;/STRONG&gt; documented in the &lt;STRONG&gt;above-mentioned&lt;/STRONG&gt;&amp;nbsp;chipset manual). I can retrieve &lt;STRONG&gt;total&lt;/STRONG&gt; DRAM &lt;STRONG&gt;read&lt;/STRONG&gt; and &lt;STRONG&gt;write&lt;/STRONG&gt;&amp;nbsp;accesses using these counters. But, there is &lt;STRONG&gt;no&lt;/STRONG&gt;&amp;nbsp;information about &lt;STRONG&gt;channel&lt;/STRONG&gt;&amp;nbsp;or &lt;STRONG&gt;rank-level&lt;/STRONG&gt;&amp;nbsp;access information. How can I find the &lt;STRONG&gt;offset&lt;/STRONG&gt;&amp;nbsp;associated with these &lt;STRONG&gt;counters&lt;/STRONG&gt;? Should I use &lt;STRONG&gt;trial and error&lt;/STRONG&gt;?&lt;/P&gt;</description>
    <pubDate>Fri, 12 Mar 2021 01:00:14 GMT</pubDate>
    <dc:creator>TheAhmad</dc:creator>
    <dc:date>2021-03-12T01:00:14Z</dc:date>
    <item>
      <title>Performance Counter for DRAM Per-Rank Memory Access</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1263575#M7838</link>
      <description>&lt;P&gt;I have an `Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz` (`Haswell`) processor. I need to retrieve the &lt;STRONG&gt;number&lt;/STRONG&gt; of accesses to each DRAM &lt;STRONG&gt;rank&lt;/STRONG&gt;, over time, to &lt;STRONG&gt;estimate&lt;/STRONG&gt; its power consumption. Based on page `261` of the chipset documentation (i.e., &lt;A href="https://cdrdv2.intel.com/v1/dl/getcontent/328902" target="_self"&gt;Datasheet, volume 2 (M- and H-processor lines)&lt;/A&gt;&amp;nbsp;), I could use the 32-bit value in register, `RAM—DRAM_ENERGY_STATUS`, as a DRAM energy &lt;STRONG&gt;estimation&lt;/STRONG&gt;. But I need &lt;STRONG&gt;rank-level&lt;/STRONG&gt;&amp;nbsp;energy estimates. I could also use &lt;STRONG&gt;core&lt;/STRONG&gt;&amp;nbsp;and &lt;STRONG&gt;offcore&lt;/STRONG&gt;&amp;nbsp;DRAM access performance counters to &lt;STRONG&gt;estimate&lt;/STRONG&gt; power consumption, but, as mentioned before, I need &lt;STRONG&gt;per-rank statistics&lt;/STRONG&gt;. &lt;STRONG&gt;Besides that&lt;/STRONG&gt;, they report &lt;STRONG&gt;whole-system&lt;/STRONG&gt;&amp;nbsp;stats, while energy is &lt;STRONG&gt;calculated per-rank&lt;/STRONG&gt;. They also do &lt;STRONG&gt;not&lt;/STRONG&gt; report many DRAM accesses.&lt;/P&gt;
&lt;P&gt;Therefore, `IMC` counters should be the &lt;STRONG&gt;ideal&lt;/STRONG&gt;&amp;nbsp;choice. `Perf` does &lt;STRONG&gt;not&lt;/STRONG&gt;&amp;nbsp;support these counters. I tried to use &lt;A href="https://github.com/opcm/pcm/blob/master/pcm-memory.cpp" target="_self"&gt;PCM-Memory&lt;/A&gt;&amp;nbsp;to access `IMC` counter information. But `/sys/bus/event_source/devices/uncore_imc` is &lt;STRONG&gt;not&lt;/STRONG&gt; mounted by the kernel (the version is `5.0.0-37-generic`) and the tool does &lt;STRONG&gt;not&lt;/STRONG&gt; detect the CPU. I tried to access &lt;STRONG&gt;uncore&lt;/STRONG&gt;&amp;nbsp;performance counters, &lt;STRONG&gt;manually&lt;/STRONG&gt;. &lt;STRONG&gt;Whole-system&lt;/STRONG&gt;&amp;nbsp;DRAM access counters are documented, &lt;A href="https://software.intel.com/content/www/us/en/develop/articles/monitoring-integrated-memory-controller-requests-in-the-2nd-3rd-and-4th-generation-intel.html" target="_self"&gt;here&lt;/A&gt;&amp;nbsp;(They were &lt;STRONG&gt;not&lt;/STRONG&gt; documented in the &lt;STRONG&gt;above-mentioned&lt;/STRONG&gt;&amp;nbsp;chipset manual). I can retrieve &lt;STRONG&gt;total&lt;/STRONG&gt; DRAM &lt;STRONG&gt;read&lt;/STRONG&gt; and &lt;STRONG&gt;write&lt;/STRONG&gt;&amp;nbsp;accesses using these counters. But, there is &lt;STRONG&gt;no&lt;/STRONG&gt;&amp;nbsp;information about &lt;STRONG&gt;channel&lt;/STRONG&gt;&amp;nbsp;or &lt;STRONG&gt;rank-level&lt;/STRONG&gt;&amp;nbsp;access information. How can I find the &lt;STRONG&gt;offset&lt;/STRONG&gt;&amp;nbsp;associated with these &lt;STRONG&gt;counters&lt;/STRONG&gt;? Should I use &lt;STRONG&gt;trial and error&lt;/STRONG&gt;?&lt;/P&gt;</description>
      <pubDate>Fri, 12 Mar 2021 01:00:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1263575#M7838</guid>
      <dc:creator>TheAhmad</dc:creator>
      <dc:date>2021-03-12T01:00:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Counter for DRAM Per-Rank Memory Access</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1264025#M7839</link>
      <description>&lt;P&gt;This question is also asked at &lt;A href="https://stackoverflow.com/questions/66592256/performance-counter-for-dram-per-rank-memory-access" target="_self"&gt;Stackoverflow&lt;/A&gt;&amp;nbsp;.&lt;/P&gt;</description>
      <pubDate>Sat, 13 Mar 2021 11:26:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1264025#M7839</guid>
      <dc:creator>TheAhmad</dc:creator>
      <dc:date>2021-03-13T11:26:18Z</dc:date>
    </item>
  </channel>
</rss>

