<?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 Hi,  in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/About-vectorization-performance-on-Coprocessors/m-p/947763#M18751</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, in general, you do get a better performance if your data is aligned and the memory accesses are sequential. Hence, you may see performance gains if you access both arrays sequentially.&amp;nbsp;Also, indirect memory references are costly and lead to inefficient code. You can find more about this in the following article:&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization"&gt;http://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There are a number of other Best-Know-Methods (BKMs) for vectorization that can be found at&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/vectorization-essential"&gt;http://software.intel.com/en-us/articles/vectorization-essential&lt;/A&gt;. Other compiler BKMs can be found at&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture"&gt;http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 04 Oct 2013 19:20:32 GMT</pubDate>
    <dc:creator>Sumedh_N_Intel</dc:creator>
    <dc:date>2013-10-04T19:20:32Z</dc:date>
    <item>
      <title>About vectorization performance on Coprocessors</title>
      <link>https://community.intel.com/t5/Software-Archive/About-vectorization-performance-on-Coprocessors/m-p/947762#M18750</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I just want to confirm something and ask a quick question. In order to benefit from vectorization to full extent, data should lay in memory in a successive way. I am working on sparse matrix vector multiplication in which I do something like this;&lt;/P&gt;
&lt;P&gt;[cpp]&lt;/P&gt;
&lt;P&gt;for(int i = 0; i &amp;lt; nnz; ++i)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; y&lt;I&gt; = val&lt;I&gt; * x[colInd&lt;I&gt;];&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;[/cpp]&lt;/P&gt;
&lt;P&gt;here I access val array sequentially but this is not necessariliy true for x vector.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If I am not accessing both arrays sequentially I am giving away additional speed up I will get otherwise right?&lt;/LI&gt;
&lt;LI&gt;Will using a notation like "x[colInd&lt;I&gt;]" affect vectorization even if it I was accessing x entries in a successive way (and result in a performance loss)?&lt;/I&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Your thoughts are always welcome.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Matara Ma&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Oct 2013 17:56:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/About-vectorization-performance-on-Coprocessors/m-p/947762#M18750</guid>
      <dc:creator>Matara_Ma_Sukoy1</dc:creator>
      <dc:date>2013-10-04T17:56:31Z</dc:date>
    </item>
    <item>
      <title>Hi, </title>
      <link>https://community.intel.com/t5/Software-Archive/About-vectorization-performance-on-Coprocessors/m-p/947763#M18751</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, in general, you do get a better performance if your data is aligned and the memory accesses are sequential. Hence, you may see performance gains if you access both arrays sequentially.&amp;nbsp;Also, indirect memory references are costly and lead to inefficient code. You can find more about this in the following article:&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization"&gt;http://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There are a number of other Best-Know-Methods (BKMs) for vectorization that can be found at&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/vectorization-essential"&gt;http://software.intel.com/en-us/articles/vectorization-essential&lt;/A&gt;. Other compiler BKMs can be found at&amp;nbsp;&lt;A href="http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture"&gt;http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Oct 2013 19:20:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/About-vectorization-performance-on-Coprocessors/m-p/947763#M18751</guid>
      <dc:creator>Sumedh_N_Intel</dc:creator>
      <dc:date>2013-10-04T19:20:32Z</dc:date>
    </item>
  </channel>
</rss>

