<?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 I can not confirm, that the in OpenCL* for CPU</title>
    <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059699#M4187</link>
    <description>&lt;P&gt;I can not confirm, that the variable&amp;nbsp;CL_CONFIG_USE_VECTORIZER disables the implizit vectorizer. The output is says that the code is not vectorized, but the assembly code is the same and the execution of the kernel shows no difference.&lt;/P&gt;</description>
    <pubDate>Sat, 21 Feb 2015 15:05:50 GMT</pubDate>
    <dc:creator>Simon_S_1</dc:creator>
    <dc:date>2015-02-21T15:05:50Z</dc:date>
    <item>
      <title>Kernel optimization with oclopt and ico64</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059690#M4178</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I work with the CLI tool of the Intel OpenCL SDK 1.2 on Scientific Linux. I'm interested in optimize my kernels (1) with the oclopt program and (2) with assembly code for CPU or MIC.&lt;/P&gt;

&lt;P&gt;Question (1): How I understand the tool oclopt currently: the tool takes a builded spir code and some optimization methods like prefetching or loop-unrolling and produces an optimized version of it. Example:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;    oclopt -O3 -prefetch -loop-unroll kernel_x64.spir &amp;gt; kernel_x64.spir&lt;/PRE&gt;

&lt;P&gt;Can I do more with it like giving a hint about the prefetching distance? In my case, these flags does not influence the kernel! Is it possible to access the IMCI instruction set somehow?&lt;/P&gt;

&lt;P&gt;Question (2): The ico64 kernel builder creates assembly files. Is there any way to build binary code from assembly code or is it just used for analysing the generated binary kernel file?&lt;/P&gt;

&lt;P&gt;Thanks a lot!&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jan 2015 15:03:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059690#M4178</guid>
      <dc:creator>Simon_S_1</dc:creator>
      <dc:date>2015-01-26T15:03:45Z</dc:date>
    </item>
    <item>
      <title>Simon,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059691#M4179</link>
      <description>&lt;P&gt;Simon,&lt;/P&gt;

&lt;P&gt;1. your understanding is correct: if you build your SPIR kernel firs like thist:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 14.3999996185303px;"&gt;ioc64 -cmd=build -input=drawbox.cl -device=gpu -spir64=drawbox.bc -bo="-cl-std=CL1.2"&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 14.3999996185303px;"&gt;Then, you can apply optimizations to it, e.g.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 14.3999996185303px;"&gt;oclopt&amp;nbsp;-strip drawbox.bc &amp;gt; drawbox_stripped.bc&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;You can check available options via oclopt --help - haven't tried them all, so not sure how to hint about prefetching distance . The kernels are SPIR kernels. Not sure what do you mean by IMCI instruction set.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;2. ioc64 could build many things, but if you use -spir64= flag, it will generate the right SPIR file, that you should be able to load with clCreateProgramWithBinary.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2015 17:58:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059691#M4179</guid>
      <dc:creator>Robert_I_Intel</dc:creator>
      <dc:date>2015-01-30T17:58:12Z</dc:date>
    </item>
    <item>
      <title>Thanks for your reply!</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059692#M4180</link>
      <description>&lt;P&gt;Thanks for your reply!&lt;/P&gt;

&lt;P&gt;(1) Please don't refer to GPU. I'm interessted in optimize kernels espezially for the MIC (Xeon Phi) with OpenCL. To optimize low level, it is necessary to influence the optimization somehow. Non of the offered options does show any changes in the generated code. Does the oclopt really apply to the Xeon Phi?&lt;/P&gt;

&lt;P&gt;(2) The IMCI is &lt;SPAN class="st"&gt;Intels Initial Many Core &lt;EM&gt;Instructions&lt;/EM&gt;&lt;/SPAN&gt; set for the Xeon Phi. Is there any assembly optimization with OpenCL possible?&lt;/P&gt;

&lt;P&gt;ioc64 works good with spir and clCreateProgramWithBinary. Thats not the problem. I want so know, what else is possibe!&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2015 21:45:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059692#M4180</guid>
      <dc:creator>Simon_S_1</dc:creator>
      <dc:date>2015-01-30T21:45:06Z</dc:date>
    </item>
    <item>
      <title>Simon,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059693#M4181</link>
      <description>&lt;P&gt;Simon,&lt;/P&gt;

&lt;P&gt;I'll forward your question to Xeon Phi pros.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2015 22:13:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059693#M4181</guid>
      <dc:creator>Robert_I_Intel</dc:creator>
      <dc:date>2015-01-30T22:13:31Z</dc:date>
    </item>
    <item>
      <title>Hi Simon,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059694#M4182</link>
      <description>Hi Simon,

This utility (oclopt) is not intended for direct usage and it might be excluded from future releases actually as well.

My understanding is that in order to influence optimization somehow one should use the methods described in OpenCL™ Optimization Guide for HPC Systems (https://software.intel.com/en-us/iocl_tec_2014_opg). There is also no direct way to use IMCI instruction set from OpenCL C code - as for any OpenCL implementation the only allowed language is the one described in OpenCL C specification.

Thanks,
Yuri</description>
      <pubDate>Mon, 02 Feb 2015 14:27:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059694#M4182</guid>
      <dc:creator>Yuri_K_Intel</dc:creator>
      <dc:date>2015-02-02T14:27:41Z</dc:date>
    </item>
    <item>
      <title>Hello Yuri,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059695#M4183</link>
      <description>&lt;P&gt;Hello Yuri,&lt;/P&gt;

&lt;P&gt;thanks for the reply!&lt;/P&gt;

&lt;P&gt;The OpenCL driver of Intel does an vectorization of 16 on Xeon Phi implicitly. Can I turn it off?&lt;/P&gt;

&lt;P&gt;Thanks, Simon&lt;/P&gt;</description>
      <pubDate>Tue, 17 Feb 2015 13:06:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059695#M4183</guid>
      <dc:creator>Simon_S_1</dc:creator>
      <dc:date>2015-02-17T13:06:05Z</dc:date>
    </item>
    <item>
      <title>Hi Simon,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059696#M4184</link>
      <description>Hi Simon,

Yes, automatic vectorization can be prevented by using CL_CONFIG_USE_VECTORIZER. Please see &lt;A href="https://software.intel.com/en-us/node/540483" target="_blank"&gt;https://software.intel.com/en-us/node/540483&lt;/A&gt;

Thanks,
Yuri</description>
      <pubDate>Tue, 17 Feb 2015 13:37:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059696#M4184</guid>
      <dc:creator>Yuri_K_Intel</dc:creator>
      <dc:date>2015-02-17T13:37:38Z</dc:date>
    </item>
    <item>
      <title>Hi Yuri,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059697#M4185</link>
      <description>&lt;P&gt;Hi Yuri,&lt;/P&gt;

&lt;P&gt;can I also influence the vectorization for double?&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;export CL_CONFIG_CPU_VECTORIZER_MODE=8&lt;/PRE&gt;

&lt;P&gt;does not work for me. vectorization of 16 or no vectorization...&lt;/P&gt;</description>
      <pubDate>Tue, 17 Feb 2015 16:17:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059697#M4185</guid>
      <dc:creator>Simon_S_1</dc:creator>
      <dc:date>2015-02-17T16:17:00Z</dc:date>
    </item>
    <item>
      <title>Simon,</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059698#M4186</link>
      <description>Simon,

This variable affects code generation for CPU OpenCL device only.

Thanks,
Yuri</description>
      <pubDate>Wed, 18 Feb 2015 09:52:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059698#M4186</guid>
      <dc:creator>Yuri_K_Intel</dc:creator>
      <dc:date>2015-02-18T09:52:36Z</dc:date>
    </item>
    <item>
      <title>I can not confirm, that the</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059699#M4187</link>
      <description>&lt;P&gt;I can not confirm, that the variable&amp;nbsp;CL_CONFIG_USE_VECTORIZER disables the implizit vectorizer. The output is says that the code is not vectorized, but the assembly code is the same and the execution of the kernel shows no difference.&lt;/P&gt;</description>
      <pubDate>Sat, 21 Feb 2015 15:05:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Kernel-optimization-with-oclopt-and-ico64/m-p/1059699#M4187</guid>
      <dc:creator>Simon_S_1</dc:creator>
      <dc:date>2015-02-21T15:05:50Z</dc:date>
    </item>
  </channel>
</rss>

