<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hello,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">A number of developers from the member companies within the Khronos Group are interested to contribute the prototype implementation of OpenCL C++ that is currently located on github and based on version 3.6:</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://github.com/KhronosGroup/SPIR/commit/0cfb6f7533d42ae3398a8574efd8abbdac88ac44" class="OWAAutoLink">https://github.com/KhronosGroup/SPIR/commit/0cfb6f7533d42ae3398a8574efd8abbdac88ac44</a><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">This implementation is compliant to OpenCL v2.2 standard:</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://www.khronos.org/registry/OpenCL/specs/opencl-2.2-cplusplus.pdf" class="OWAAutoLink">https://www.khronos.org/registry/OpenCL/specs/opencl-2.2-cplusplus.pdf</a><br>
</p>
<p style="margin-top:0;margin-bottom:0">Similarly to OpenCL C being based on C99, OpenCL C++ support is entirely based on C++14 with a number of extensions (some of which will be shared with OpenCL C) and a few minor restrictions.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">The plan would be to take small patches from the github repository and perform any necessary rework and clean up before putting up for review. From the OpenCL side, I don't see any issue with this plan as it doesn't interfere
with any current development I am aware of, and also it would be great to progress to the next OpenCL standard. I just want to check if there are any objections from anyone or things we should be aware of before the start. I'm particularly looking for feedback
from C++ implementers as there might be some overlap.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Additionally, there are two more related threads, which I plan to discuss separately. There is:
</p>
<p style="margin-top:0;margin-bottom:0">(i) standard library support libclcxx:<a href="https://github.com/KhronosGroup/libclcxx." class="OWAAutoLink"> https://github.com/KhronosGroup/libclcxx.</a><br>
</p>
<p style="margin-top:0;margin-bottom:0">(ii) and IR generation to SPIRV: <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-February/121317.html" class="OWAAutoLink">http://lists.llvm.org/pipermail/llvm-dev/2018-February/121317.html</a></p>
<p style="margin-top:0;margin-bottom:0">that we would like to provide as well, in order to allow Clang to produce an end binary targeting a wider range of architectures directly (not just AMD GPU).
<span style="color: rgb(0, 0, 0);">We expect that the complete open source solution for OpenCL C++ will increase significantly Clang users and unify our dev</span><span style="color: rgb(0, 0, 0);">elopment forces i.e. refactoring, bug hunting, etc. The plan
would be to do similar for OpenCL C too at a later point of time. </span></p>
<span style="color: rgb(255, 0, 0);"></span>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Please, contact me if you have any thoughts or comments.<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Cheers,</p>
<p style="margin-top:0;margin-bottom:0">Anastasia<br>
</p>
</div>
</body>
</html>