<?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 Some questions on Intel PCM in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006226#M3667</link>
    <description>&lt;P&gt;Hello folks, I have some questions that I could not answer by myself, I appreciate&amp;nbsp;any help.&lt;/P&gt;

&lt;OL&gt;
	&lt;LI&gt;Do I need to be root to execute programs linked with libintelpcm.so?&lt;/LI&gt;
	&lt;LI&gt;All events require syscalls? Does cache access, retired instructions, clock cycles, etc. all require syscalls/root access?&lt;/LI&gt;
	&lt;LI&gt;Should I use PCM::getInstance() or should I use MsrHandle? It seems the first is a wrapper around the later, is that right? In case of MsrHandle where can I find a list of events(registers) and their description?&lt;/LI&gt;
	&lt;LI&gt;Is directly using MsrHandle for read just a few registers (&amp;lt;5) faster than using PCM::getInstance() right?&lt;/LI&gt;
	&lt;LI&gt;Are&amp;nbsp;statistics collected using these APIs specific for my program or are them from all programs that executed on the core in between the call to the two "sampling" functions?&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;

&lt;P&gt;As always, thank you!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Jul 2015 20:36:30 GMT</pubDate>
    <dc:creator>Caesar</dc:creator>
    <dc:date>2015-07-10T20:36:30Z</dc:date>
    <item>
      <title>Some questions on Intel PCM</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006226#M3667</link>
      <description>&lt;P&gt;Hello folks, I have some questions that I could not answer by myself, I appreciate&amp;nbsp;any help.&lt;/P&gt;

&lt;OL&gt;
	&lt;LI&gt;Do I need to be root to execute programs linked with libintelpcm.so?&lt;/LI&gt;
	&lt;LI&gt;All events require syscalls? Does cache access, retired instructions, clock cycles, etc. all require syscalls/root access?&lt;/LI&gt;
	&lt;LI&gt;Should I use PCM::getInstance() or should I use MsrHandle? It seems the first is a wrapper around the later, is that right? In case of MsrHandle where can I find a list of events(registers) and their description?&lt;/LI&gt;
	&lt;LI&gt;Is directly using MsrHandle for read just a few registers (&amp;lt;5) faster than using PCM::getInstance() right?&lt;/LI&gt;
	&lt;LI&gt;Are&amp;nbsp;statistics collected using these APIs specific for my program or are them from all programs that executed on the core in between the call to the two "sampling" functions?&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;

&lt;P&gt;As always, thank you!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jul 2015 20:36:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006226#M3667</guid>
      <dc:creator>Caesar</dc:creator>
      <dc:date>2015-07-10T20:36:30Z</dc:date>
    </item>
    <item>
      <title>Can someone give a hand on</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006227#M3668</link>
      <description>&lt;P&gt;Can someone give a hand on this? ;-p&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2015 02:06:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006227#M3668</guid>
      <dc:creator>Caesar</dc:creator>
      <dc:date>2015-07-13T02:06:07Z</dc:date>
    </item>
    <item>
      <title>&gt;Do I need to be root to</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006228#M3669</link>
      <description>&lt;P&gt;&amp;gt;Do I need to be root to execute programs linked with libintelpcm.so?&lt;/P&gt;

&lt;P&gt;To access uncore counters on modern Intel architectures, yes.&lt;/P&gt;

&lt;P&gt;&amp;gt;All events require syscalls? Does cache access, retired instructions, clock cycles, etc. all require syscalls/root access?&lt;/P&gt;

&lt;P&gt;in PCM, yes. It does not use rdpmc instruction yet, rdpmc wpuld allows to avoid syscalls for some core counters.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;gt;Should I use PCM::getInstance() or should I use MsrHandle? It seems the first is a wrapper around the later, is that right? In case of &amp;gt;MsrHandle where can I find a list of events(registers) and their description?&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;The lists of core and uncore events for many Intel processors is in the Intel Software Development Manual (many hundred pages...)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;MsrHandle is a low level class not intended for direct use (if you want only to collect some performance events). You should use PCM::getInstance if you want to save time not recreating the tool.&lt;/P&gt;

&lt;P&gt;&amp;gt;Is directly using MsrHandle for read just a few registers (&amp;lt;5) faster than using PCM::getInstance() right?&lt;/P&gt;

&lt;P&gt;this is right, but there are many caveats (i.e. you need to program events, registers may overflow)...&lt;/P&gt;

&lt;P&gt;&amp;gt;Are&amp;nbsp;statistics collected using these APIs specific for my program or are them from all programs that executed on the core in between the call to the two "sampling" functions?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;PCM collects global statistics for all programs executed on particular core/processor.&lt;/P&gt;

&lt;P&gt;I hope that helps.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;/P&gt;

&lt;P&gt;Roman&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2015 11:58:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006228#M3669</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2015-07-14T11:58:40Z</dc:date>
    </item>
    <item>
      <title>Thanks a lot Roman!</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006229#M3670</link>
      <description>&lt;P&gt;Thanks a lot Roman!&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2015 23:46:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Some-questions-on-Intel-PCM/m-p/1006229#M3670</guid>
      <dc:creator>Caesar</dc:creator>
      <dc:date>2015-07-14T23:46:22Z</dc:date>
    </item>
  </channel>
</rss>

