<?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 counters based on memory objects(data strcutures) in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105433#M5938</link>
    <description>&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Hi,&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;We notice that&amp;nbsp;VTune Amplifier's Memory Access analysis&amp;nbsp;can&amp;nbsp;attribute performance events to memory objects (data structures)&amp;nbsp;based on performance counters (&lt;A class="x_OWAAutoLink" href="https://software.intel.com/en-us/memory-access-analysis-lin" id="LPlnk264859" target="_blank"&gt;https://software.intel.com/en-us/memory-access-analysis-lin&lt;/A&gt;).&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;We are wondering if there are any APIs that allow programmers to do the similar thing in a program.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Fri, 07 Oct 2016 05:52:25 GMT</pubDate>
    <dc:creator>kai_w_</dc:creator>
    <dc:date>2016-10-07T05:52:25Z</dc:date>
    <item>
      <title>performance counters based on memory objects(data strcutures)</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105433#M5938</link>
      <description>&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Hi,&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;We notice that&amp;nbsp;VTune Amplifier's Memory Access analysis&amp;nbsp;can&amp;nbsp;attribute performance events to memory objects (data structures)&amp;nbsp;based on performance counters (&lt;A class="x_OWAAutoLink" href="https://software.intel.com/en-us/memory-access-analysis-lin" id="LPlnk264859" target="_blank"&gt;https://software.intel.com/en-us/memory-access-analysis-lin&lt;/A&gt;).&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;We are wondering if there are any APIs that allow programmers to do the similar thing in a program.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2016 05:52:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105433#M5938</guid>
      <dc:creator>kai_w_</dc:creator>
      <dc:date>2016-10-07T05:52:25Z</dc:date>
    </item>
    <item>
      <title>Hello,</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105434#M5939</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;VTune uses binary instrumentation of memory allocations/deallocations (based on PIN) to get memory object mapping to data addresses over time. Extracting data linear address from PEBS buffers of&amp;nbsp;precise events allows to correlate them with the memory objects.&lt;/P&gt;

&lt;P&gt;May&amp;nbsp;I ask what kind of a use case do you have to get an API on this? Writing your own tool to generate performance reports or get data inside&amp;nbsp;the application to make it more dynamic?&lt;/P&gt;

&lt;P&gt;Thanks &amp;amp; Regards, Dmitry&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2016 14:52:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105434#M5939</guid>
      <dc:creator>Dmitry_P_Intel1</dc:creator>
      <dc:date>2016-10-07T14:52:56Z</dc:date>
    </item>
    <item>
      <title>Thank you, Dmitry!</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105435#M5940</link>
      <description>&lt;DIV style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;"&gt;Thank you, Dmitry!&lt;/DIV&gt;

&lt;DIV style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;"&gt;You are right. We are developing a runtime to&amp;nbsp;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif"&gt;get data inside&amp;nbsp;the application&lt;/FONT&gt;. We use our own implementation of the heap library to keep track of all dynamic memory allocations/deallocations. So mapping memory objects to addresses is not a problem. But, how to associate performance events with data linear address? For example, if we have cache misses, is there any counter that can inform us which accesses to specific addresses cause those cache misses?&lt;/DIV&gt;

&lt;DIV style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;"&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif"&gt;Thank you.&lt;/FONT&gt;&lt;/DIV&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;dmitry-prohorov (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;VTune uses binary instrumentation of memory allocations/deallocations (based on PIN) to get memory object mapping to data addresses over time. Extracting data linear address from PEBS buffers of&amp;nbsp;precise events allows to correlate them with the memory objects.&lt;/P&gt;

&lt;P&gt;May&amp;nbsp;I ask what kind of a use case do you have to get an API on this? Writing your own tool to generate performance reports or get data inside&amp;nbsp;the application to make it more dynamic?&lt;/P&gt;

&lt;P&gt;Thanks &amp;amp; Regards, Dmitry&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2016 15:55:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105435#M5940</guid>
      <dc:creator>kai_w_</dc:creator>
      <dc:date>2016-10-07T15:55:03Z</dc:date>
    </item>
    <item>
      <title>The data linear address comes</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105436#M5941</link>
      <description>&lt;P&gt;The data linear address comes together with the event. It is a field in the PEBS (Precise Event Based Sampling) record available for some events. So whenever cache miss counter overflowed and you got PMI you can read data address from PEBS which caused that last cache miss which resulted in the overflow.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Detailed information can be found in the Software Developer's Manual, volume 3, chapter 18.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2016 16:48:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105436#M5941</guid>
      <dc:creator>Dmitry_R_Intel1</dc:creator>
      <dc:date>2016-10-07T16:48:25Z</dc:date>
    </item>
    <item>
      <title>Quote:Dmitry Ryabtsev (Intel)</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105437#M5942</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Dmitry Ryabtsev (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;The data linear address comes together with the event. It is a field in the PEBS (Precise Event Based Sampling) record available for some events. So whenever cache miss counter overflowed and you got PMI you can read data address from PEBS which caused that last cache miss which resulted in the overflow.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Detailed information can be found in the Software Developer's Manual, volume 3, chapter 18.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks Dmitry, it's really helpful.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2016 20:30:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/performance-counters-based-on-memory-objects-data-strcutures/m-p/1105437#M5942</guid>
      <dc:creator>kai_w_</dc:creator>
      <dc:date>2016-10-07T20:30:40Z</dc:date>
    </item>
  </channel>
</rss>

