A proposal for adding OpenCL C++ support (Spec v2.2)

Anastasia Stulova via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 23 08:35:58 PDT 2018


There were no objections to this so far. I assume it means nobody is opposing this new feature.


Just to give a bit more info and a chance for the last feedback. We don't plan to contribute the whole patch but only around 3K lines + tests. The overall changes will be smaller than OpenCL 2.0. And they will mainly affect C++ code paths in Sema and CodeGen, but some parsing bits too.


The time frame to start this work will hopefully be the beginning of April.


Cheers,

Anastasia

________________________________
From: cfe-dev <cfe-dev-bounces at lists.llvm.org> on behalf of Anastasia Stulova via cfe-dev <cfe-dev at lists.llvm.org>
Sent: 23 February 2018 16:29
To: clang-dev developer list
Cc: nd
Subject: [cfe-dev] A proposal for adding OpenCL C++ support (Spec v2.2)


Hello,


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:

https://github.com/KhronosGroup/SPIR/commit/0cfb6f7533d42ae3398a8574efd8abbdac88ac44


This implementation is compliant to OpenCL v2.2 standard:

https://www.khronos.org/registry/OpenCL/specs/opencl-2.2-cplusplus.pdf

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.


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.


Additionally, there are two more related threads, which I plan to discuss separately. There is:

(i) standard library support libclcxx: https://github.com/KhronosGroup/libclcxx.

(ii) and IR generation to SPIRV: http://lists.llvm.org/pipermail/llvm-dev/2018-February/121317.html

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). We expect that the complete open source solution for OpenCL C++ will increase significantly Clang users and unify our development forces i.e. refactoring, bug hunting, etc. The plan would be to do similar for OpenCL C too at a later point of time.


Please, contact me if you have any thoughts or comments.


Cheers,

Anastasia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180323/43581ff4/attachment.html>


More information about the cfe-commits mailing list