<?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/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985266#M26997</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry for this delayed reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The vectorization module creates both vectorized and non-vectorized versions of the kernel. For kernels that do not contain barriers, the vectorized version is executed as much as possible, leaving the last leftover iterations of dimension 0 to the non-vectorized version. For kernels that do contain barriers, either vectorized or non-vectorized version is executed for all work-items.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, currently, the Intel OpenCL compiler only vectorizes along the dimension zero work-items loop and does not vectorize the code within a work-item.&lt;/P&gt;</description>
    <pubDate>Thu, 12 Sep 2013 15:26:22 GMT</pubDate>
    <dc:creator>Sumedh_N_Intel</dc:creator>
    <dc:date>2013-09-12T15:26:22Z</dc:date>
    <item>
      <title>Automatic vectorization in OpenCL on Xeon Phi</title>
      <link>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985263#M26994</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have two questions about the automatic vectorization process in OpenCL on Xeon Phi.&lt;/P&gt;
&lt;P&gt;First, I was wondering what was happening when you take a work-group size of 1 on an automatically vectorized kernel. Will it be executed at the same speed that it would have without the vectorization?&lt;/P&gt;
&lt;P&gt;And secondly, is it possible to determine if the automatic vectorization has been made by merging multiple work-items in one, or inside a work-item?&lt;/P&gt;
&lt;P&gt;I hope my questions are clear enough, but let me know if something is unclear.&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;--&amp;nbsp;&lt;BR /&gt;Christophe&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Aug 2013 13:34:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985263#M26994</guid>
      <dc:creator>Christophe_A_</dc:creator>
      <dc:date>2013-08-28T13:34:51Z</dc:date>
    </item>
    <item>
      <title>Hi Christophe, </title>
      <link>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985264#M26995</link>
      <description>&lt;P&gt;Hi Christophe,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Intel SDK for OpenCL Applications does not use the vectorized kernel for the Intel Xeon Phi coprocessors if the dimension 0 workgroup is less than 16. Hence, you will get the performance equivalent to the non-vectorized code.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The OpenCL implicit vectorization module vectorizes the code by merging multiple work-items present in the same work group. Hence, for a workgroup with dimension 0 of size less than 16 does not use vectorized code. As far as I know, the vectorization module does NOT [edited] vectorize the code inside the work-item. Let me check with the experts and get back to you on that one.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Aug 2013 17:24:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985264#M26995</guid>
      <dc:creator>Sumedh_N_Intel</dc:creator>
      <dc:date>2013-08-28T17:24:00Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985265#M26996</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thank you for prompt response!&lt;/P&gt;
&lt;P&gt;What is unclear to us is that in our point of view,&amp;nbsp;the implicit vectorization among different work-items&amp;nbsp;should happen during the clBuildProgram() step&amp;nbsp;whereas the workgroup size is only known later during the&amp;nbsp;clEnqueueNDRangeKernel() step.&amp;nbsp;&lt;BR /&gt;What exactly happens in case of an implicit vectorization&amp;nbsp;during clBuildProgram() and a later kernel launch with&amp;nbsp;for example only one work-item per work-group ?&amp;nbsp;A second non-vectorized kernel is used instead of&amp;nbsp;the vectorized one? or is there implicit vectorization&amp;nbsp;among work-items from different work-groups?&lt;/P&gt;
&lt;P&gt;If the vectorization module also vectorizes the code inside the&amp;nbsp;work-item, is it possible to prevent this vectorization?&amp;nbsp;&lt;BR /&gt;Our aim is to use only vectorization among the&amp;nbsp;work-items and not inside each work-item.&lt;/P&gt;
&lt;P&gt;Thank you again,&lt;/P&gt;
&lt;P&gt;--&amp;nbsp;&lt;BR /&gt;Christophe&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2013 06:59:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985265#M26996</guid>
      <dc:creator>Christophe_A_</dc:creator>
      <dc:date>2013-08-29T06:59:01Z</dc:date>
    </item>
    <item>
      <title>Hi, </title>
      <link>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985266#M26997</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry for this delayed reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The vectorization module creates both vectorized and non-vectorized versions of the kernel. For kernels that do not contain barriers, the vectorized version is executed as much as possible, leaving the last leftover iterations of dimension 0 to the non-vectorized version. For kernels that do contain barriers, either vectorized or non-vectorized version is executed for all work-items.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, currently, the Intel OpenCL compiler only vectorizes along the dimension zero work-items loop and does not vectorize the code within a work-item.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2013 15:26:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Automatic-vectorization-in-OpenCL-on-Xeon-Phi/m-p/985266#M26997</guid>
      <dc:creator>Sumedh_N_Intel</dc:creator>
      <dc:date>2013-09-12T15:26:22Z</dc:date>
    </item>
  </channel>
</rss>

