<?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 Compatibility between Windows and Linux OpenCL kernel binaries? in OpenCL* for CPU</title>
    <link>https://community.intel.com/t5/OpenCL-for-CPU/Compatibility-between-Windows-and-Linux-OpenCL-kernel-binaries/m-p/1070135#M4402</link>
    <description>&lt;P&gt;I'm curious if the Linux kernel binaries can be loaded by the Windows runtime?&lt;/P&gt;

&lt;P&gt;I only ask because the feature set of the Linux OpenCL 2.0 driver appears to be ahead of the latest Windows driver.&lt;/P&gt;

&lt;P&gt;I understand that SPIR and other portable IR's would likely be cross-platform compatible but I'm entirely focused on using the Intel OpenCL extensions that aren't (yet?) expressible in non-native IRs.&lt;/P&gt;

&lt;P&gt;Also, I think I've asked before, but how would you suggest I build binary kernels for multiple target architectures? &amp;nbsp;It would be _very_ cool to have the ability to download one "IOC" compiler and a number of architectural backends and batch build multiple targets on one workstation.&lt;/P&gt;

&lt;P&gt;I'm more concerned about having end-users possibly having to wait for a long compile to complete (for a large OpenCL project) than I am about shipping kernel sources. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;Here are the Intel OpenCL Driver for Linux extensions:&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="intel_ocl_2.0_linux.png"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/9098iCD457D74593C7BDD/image-size/large?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="intel_ocl_2.0_linux.png" alt="intel_ocl_2.0_linux.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 08 Sep 2016 17:59:43 GMT</pubDate>
    <dc:creator>allanmac1</dc:creator>
    <dc:date>2016-09-08T17:59:43Z</dc:date>
    <item>
      <title>Compatibility between Windows and Linux OpenCL kernel binaries?</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Compatibility-between-Windows-and-Linux-OpenCL-kernel-binaries/m-p/1070135#M4402</link>
      <description>&lt;P&gt;I'm curious if the Linux kernel binaries can be loaded by the Windows runtime?&lt;/P&gt;

&lt;P&gt;I only ask because the feature set of the Linux OpenCL 2.0 driver appears to be ahead of the latest Windows driver.&lt;/P&gt;

&lt;P&gt;I understand that SPIR and other portable IR's would likely be cross-platform compatible but I'm entirely focused on using the Intel OpenCL extensions that aren't (yet?) expressible in non-native IRs.&lt;/P&gt;

&lt;P&gt;Also, I think I've asked before, but how would you suggest I build binary kernels for multiple target architectures? &amp;nbsp;It would be _very_ cool to have the ability to download one "IOC" compiler and a number of architectural backends and batch build multiple targets on one workstation.&lt;/P&gt;

&lt;P&gt;I'm more concerned about having end-users possibly having to wait for a long compile to complete (for a large OpenCL project) than I am about shipping kernel sources. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;Here are the Intel OpenCL Driver for Linux extensions:&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="intel_ocl_2.0_linux.png"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/9098iCD457D74593C7BDD/image-size/large?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="intel_ocl_2.0_linux.png" alt="intel_ocl_2.0_linux.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Sep 2016 17:59:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Compatibility-between-Windows-and-Linux-OpenCL-kernel-binaries/m-p/1070135#M4402</guid>
      <dc:creator>allanmac1</dc:creator>
      <dc:date>2016-09-08T17:59:43Z</dc:date>
    </item>
    <item>
      <title>For standard OpenCL and</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Compatibility-between-Windows-and-Linux-OpenCL-kernel-binaries/m-p/1070136#M4403</link>
      <description>&lt;P&gt;For standard OpenCL and Khronos extensions SPIR and SPIR-V are excellent solutions for portable intermediate representations. &amp;nbsp;However, for now at least, our binary IR is probably the best option when using Intel-specific extensions. &amp;nbsp;We try hard not to introduce barriers to portability across OS for the IR, but for reasons like you've indicated full portability can't be guaranteed for all cases. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;While adding cross-compiling capabilities is an excellent idea, with what we have today this could be an approach:&lt;/SPAN&gt;&lt;/P&gt;

&lt;OL&gt;
	&lt;LI&gt;Compile to IR and test in all the environments you want to target (there is a good chance it will work, but we can't promise.)&lt;/LI&gt;
	&lt;LI&gt;If there is a compatibility problem, try running an IR binary compiled in that environment. &amp;nbsp;If multiple IRs are needed choose which one to load at runtime based on system queries.&lt;/LI&gt;
&lt;/OL&gt;

&lt;P&gt;However, if the reason for the incompatibility is that an extension isn't available for your target OS there is a good chance you will need different kernel and/or host code for that path too.&lt;/P&gt;

&lt;P&gt;Please watch for more information and improvement on this topic as SPIR-V evolves. This will be a better answer for portable future proofed IR.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Sep 2016 21:25:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Compatibility-between-Windows-and-Linux-OpenCL-kernel-binaries/m-p/1070136#M4403</guid>
      <dc:creator>Jeffrey_M_Intel1</dc:creator>
      <dc:date>2016-09-09T21:25:51Z</dc:date>
    </item>
  </channel>
</rss>

