<?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 Re:Prefetching optimization in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1211120#M7171</link>
    <description>&lt;P&gt;Hi Matthieu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for reaching out to us.&lt;/P&gt;&lt;P&gt;Prefetching optimization will totally depend on your use-case. Based on your use-case you will experience the benefits and drawbacks of it.&lt;/P&gt;&lt;P&gt;Suppose your use-case has some small array streams, small irregular memory address patterns, and L1 cache miss reduction operations, then there will be a more chance of positive impact using Prefetching. &lt;/P&gt;&lt;P&gt;Because arrays and some recursive data structure accesses can be easily predicted and will have a positive impact over software prefetching. However, data structures like hashing are much harder to prefetch effectively.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Or Suppose in your use-case when the number of instructions in a loop is extremely small, it can be challenging to insert software prefetching instructions to provide timely prefetching requests because there are no enough computations between prefetching instructions.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;So depending on your use-case you can take the advantage of prefetching, you can also set the levels of prefetching (-qopt-prefetch[=n]) or can disable it (-qno-opt-prefetch), depending on the scenario or you can also add the prefetching intrinsic (_mm_prefetch()) if you fill compiler is creating overhead while prefetching.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;For more details please refer below link:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/advanced-optimization-options/qopt-prefetch-qopt-prefetch.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/advanced-optimization-options/qopt-prefetch-qopt-prefetch.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The O2 optimization may enable data prefetching depending on the application. Whereas if you specify O3 level optimization, it will enable more aggressive prefetching.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Hope the above details will give you insights about the use of prefetch. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Warm Regards,&lt;/P&gt;&lt;P&gt;Abhishek&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Mon, 21 Sep 2020 10:46:31 GMT</pubDate>
    <dc:creator>AbhishekD_Intel</dc:creator>
    <dc:date>2020-09-21T10:46:31Z</dc:date>
    <item>
      <title>Prefetching optimization</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1210640#M7165</link>
      <description>&lt;P&gt;I am looking at the documenation of the compiler flag "-qopt-prefetch" and I am wondering two things:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;- Is there a drawback to always have it on? i.e. could the compiler make bad pre-fetching choices and create slower code if I switch it on?&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;- Is that flag part of any of the meta-flags like -O2?&lt;BR /&gt;&lt;BR /&gt;Thanks for your advice!&lt;/P&gt;</description>
      <pubDate>Fri, 18 Sep 2020 21:06:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1210640#M7165</guid>
      <dc:creator>matthieuschaller1</dc:creator>
      <dc:date>2020-09-18T21:06:57Z</dc:date>
    </item>
    <item>
      <title>Re:Prefetching optimization</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1211120#M7171</link>
      <description>&lt;P&gt;Hi Matthieu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for reaching out to us.&lt;/P&gt;&lt;P&gt;Prefetching optimization will totally depend on your use-case. Based on your use-case you will experience the benefits and drawbacks of it.&lt;/P&gt;&lt;P&gt;Suppose your use-case has some small array streams, small irregular memory address patterns, and L1 cache miss reduction operations, then there will be a more chance of positive impact using Prefetching. &lt;/P&gt;&lt;P&gt;Because arrays and some recursive data structure accesses can be easily predicted and will have a positive impact over software prefetching. However, data structures like hashing are much harder to prefetch effectively.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Or Suppose in your use-case when the number of instructions in a loop is extremely small, it can be challenging to insert software prefetching instructions to provide timely prefetching requests because there are no enough computations between prefetching instructions.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;So depending on your use-case you can take the advantage of prefetching, you can also set the levels of prefetching (-qopt-prefetch[=n]) or can disable it (-qno-opt-prefetch), depending on the scenario or you can also add the prefetching intrinsic (_mm_prefetch()) if you fill compiler is creating overhead while prefetching.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;For more details please refer below link:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/advanced-optimization-options/qopt-prefetch-qopt-prefetch.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/advanced-optimization-options/qopt-prefetch-qopt-prefetch.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The O2 optimization may enable data prefetching depending on the application. Whereas if you specify O3 level optimization, it will enable more aggressive prefetching.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Hope the above details will give you insights about the use of prefetch. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Warm Regards,&lt;/P&gt;&lt;P&gt;Abhishek&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 21 Sep 2020 10:46:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1211120#M7171</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-09-21T10:46:31Z</dc:date>
    </item>
    <item>
      <title>Re:Prefetching optimization</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1213025#M7193</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please give us an update if your issue is resolved.&lt;/P&gt;&lt;P&gt;If you still have some issues related to this thread please post us.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank You,&lt;/P&gt;&lt;P&gt;Abhishek&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 28 Sep 2020 06:23:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1213025#M7193</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-09-28T06:23:06Z</dc:date>
    </item>
    <item>
      <title>Re:Prefetching optimization</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1216219#M7226</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We are assuming that the provided solution helped you. So we will stop monitoring this thread&lt;/P&gt;&lt;P&gt;Please post a new thread if you have any other issues.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank You&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 09 Oct 2020 09:54:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Prefetching-optimization/m-p/1216219#M7226</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-10-09T09:54:48Z</dc:date>
    </item>
  </channel>
</rss>

