<?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 disabling hardware prefetching on Xeon in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792851#M579</link>
    <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;I was trying to do some experiments tounderstand the effect of hardware prefetcher on software prefetching.&lt;BR /&gt;I had a question related to h/w prefetcher on Intel Xeon processor,and was wondering if any of you have some suggestions.&lt;BR /&gt;&lt;BR /&gt;My machine configuration:&lt;BR /&gt;$ uname -a&lt;BR /&gt;Linux 2.6.34-gentoo-r1 #2 SMP Mon Feb 20 12:07:35 CST 2012 x86_64&lt;BR /&gt;Intel Xeon CPU E5520 @ 2.27GHz GenuineIntel GNU/Linux&lt;BR /&gt;&lt;BR /&gt;I am trying to count the number of hardware prefetch events (a.k.a.L1D_PREFETCH:REQUESTS perfmon2 event), before and after disablinghardware prefetching using BIOS. I have followed the steps mentionedin the below link to disable h/w prefetching in BIOS.&lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/optimizing-application-performance-on-intel-coret-microarchitecture-using-hardware-implemented-prefetchers/" target="_blank"&gt;&lt;/A&gt;&lt;A href="http://software.intel.com/en-" target="_blank"&gt;http://software.intel.com/en-&lt;/A&gt;&lt;WBR /&gt;us/articles/optimizing-&lt;WBR /&gt;application-performance-on-&lt;WBR /&gt;intel-coret-microarchitecture-&lt;WBR /&gt;using-hardware-implemented-&lt;WBR /&gt;prefetchers/&lt;BR /&gt;&lt;BR /&gt;However even after disabling the h/w prefetching, I don't see it ishaving any effect on prefetching event L1D_PREFETCH:REQUESTS. I hadposted this query on perfmon2 group, and I was told that since theprocessor E5520 is not a Core micro-architecture but Nehalem-EP thetechnique above to disable HW prefetcher does not apply.&lt;BR /&gt;&lt;BR /&gt;Do any of you have any suggestions about how we can disable h/w prefetcher on this architecture?&lt;BR /&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ram&lt;/DIV&gt;</description>
    <pubDate>Sun, 11 Mar 2012 19:49:17 GMT</pubDate>
    <dc:creator>ramacn</dc:creator>
    <dc:date>2012-03-11T19:49:17Z</dc:date>
    <item>
      <title>disabling hardware prefetching on Xeon</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792851#M579</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;I was trying to do some experiments tounderstand the effect of hardware prefetcher on software prefetching.&lt;BR /&gt;I had a question related to h/w prefetcher on Intel Xeon processor,and was wondering if any of you have some suggestions.&lt;BR /&gt;&lt;BR /&gt;My machine configuration:&lt;BR /&gt;$ uname -a&lt;BR /&gt;Linux 2.6.34-gentoo-r1 #2 SMP Mon Feb 20 12:07:35 CST 2012 x86_64&lt;BR /&gt;Intel Xeon CPU E5520 @ 2.27GHz GenuineIntel GNU/Linux&lt;BR /&gt;&lt;BR /&gt;I am trying to count the number of hardware prefetch events (a.k.a.L1D_PREFETCH:REQUESTS perfmon2 event), before and after disablinghardware prefetching using BIOS. I have followed the steps mentionedin the below link to disable h/w prefetching in BIOS.&lt;BR /&gt;&lt;A href="http://software.intel.com/en-us/articles/optimizing-application-performance-on-intel-coret-microarchitecture-using-hardware-implemented-prefetchers/" target="_blank"&gt;&lt;/A&gt;&lt;A href="http://software.intel.com/en-" target="_blank"&gt;http://software.intel.com/en-&lt;/A&gt;&lt;WBR /&gt;us/articles/optimizing-&lt;WBR /&gt;application-performance-on-&lt;WBR /&gt;intel-coret-microarchitecture-&lt;WBR /&gt;using-hardware-implemented-&lt;WBR /&gt;prefetchers/&lt;BR /&gt;&lt;BR /&gt;However even after disabling the h/w prefetching, I don't see it ishaving any effect on prefetching event L1D_PREFETCH:REQUESTS. I hadposted this query on perfmon2 group, and I was told that since theprocessor E5520 is not a Core micro-architecture but Nehalem-EP thetechnique above to disable HW prefetcher does not apply.&lt;BR /&gt;&lt;BR /&gt;Do any of you have any suggestions about how we can disable h/w prefetcher on this architecture?&lt;BR /&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ram&lt;/DIV&gt;</description>
      <pubDate>Sun, 11 Mar 2012 19:49:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792851#M579</guid>
      <dc:creator>ramacn</dc:creator>
      <dc:date>2012-03-11T19:49:17Z</dc:date>
    </item>
    <item>
      <title>disabling hardware prefetching on Xeon</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792852#M580</link>
      <description>Hello ramanc,&lt;BR /&gt;The perfmon2 group is correct. The URL you reference is for core architecture and E5520 processor is Nehalem-based architecture.&lt;BR /&gt;Usually you can enable/disable the prefetchers using the BIOS boot options.&lt;BR /&gt;Look for something in the BIOS labeled hardware prefetch (probably under the CPU-related section of the BIOS screens).&lt;BR /&gt;Hope this helps,&lt;BR /&gt;Pat</description>
      <pubDate>Sun, 11 Mar 2012 20:28:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792852#M580</guid>
      <dc:creator>Patrick_F_Intel1</dc:creator>
      <dc:date>2012-03-11T20:28:09Z</dc:date>
    </item>
    <item>
      <title>disabling hardware prefetching on Xeon</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792853#M581</link>
      <description>Hi Pat,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks for the quick response.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This is exactly what I tried. While booting I got into BIOS and found an option to disable h/w prefetcher, which I disabled.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;However even after disabling it, I could see the number ofL1D_PREFETCH:REQUESTS perfmon2 events remains pretty much the same. I ran a couple of openmp benchmarks and verified that disabling it in BIOS did not have any effect on this event. It also did not cause any impact on performance.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hence I was wondering if h/w prefetching option from BIOS was effective or not. Or if there is a better way to disable it.&lt;/DIV&gt;&lt;DIV&gt;Also if there is a better way to verify it is actually disabled. Kindly let me know.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ram&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 11 Mar 2012 23:05:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792853#M581</guid>
      <dc:creator>ramacn</dc:creator>
      <dc:date>2012-03-11T23:05:42Z</dc:date>
    </item>
    <item>
      <title>disabling hardware prefetching on Xeon</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792854#M582</link>
      <description>Hello Ram,&lt;BR /&gt;When I want to prove to myself that the prefetchers are disabled, here is what I do:&lt;BR /&gt; 1) get a program that measures memory latency (using a dependent chain, load-to-use algorithm)&lt;BR /&gt; 2) the program needs to let you specify a 64 byte stride and an array size (like 40MBs)&lt;BR /&gt; a) the 64 byte stride will trigger the prefetcher if it is enabled&lt;BR /&gt; b) the 40MB array size will be &amp;gt; the last level cache size so you will be testing memory latency.&lt;BR /&gt; c) some programs don't let you specify the stride and array size but they may automatically generate the 64 byte stride, size &amp;gt; LLC case anyway. &lt;BR /&gt;&lt;BR /&gt;Below is data for the single-threaded memory latency case.&lt;BR /&gt;If the prefetchers are off then you will see the full memory latency. For instance, on my Westmere based laptop, this is about 281 clockticks (or 111 nanoseconds) per miss.&lt;BR /&gt;With the prefetchers enabled, the miss latency is about 34 clockticks (or 13 nanoseconds) per miss.&lt;BR /&gt;&lt;BR /&gt;So you can see the prefetcher has a dramatic impact on latency.&lt;BR /&gt;&lt;BR /&gt;On linux, probably the lmbench program does the latency test. &lt;BR /&gt;On windows, the cpu-z program has a latency test that runs over various sizes. See &lt;A href="http://www.cpuid.com/medias/files/softwares/misc/latency.zip"&gt;http://www.cpuid.com/medias/files/softwares/misc/latency.zip&lt;/A&gt; &lt;BR /&gt;In my utilities I use code based on Calibrator (but heavily modified). See &lt;A href="http://homepages.cwi.nl/~manegold/Calibrator/"&gt;http://homepages.cwi.nl/~manegold/Calibrator/&lt;/A&gt; &lt;BR /&gt;Pat&lt;BR /&gt;</description>
      <pubDate>Mon, 12 Mar 2012 01:12:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/disabling-hardware-prefetching-on-Xeon/m-p/792854#M582</guid>
      <dc:creator>Patrick_F_Intel1</dc:creator>
      <dc:date>2012-03-12T01:12:44Z</dc:date>
    </item>
  </channel>
</rss>

