This repository contains different proposals on various working groups that Codeplay Software Ltd. is currently involved in.
The aim of this public repository is to facilitate sharing information with our partners and public in general.
Each proposal is stored on a separate directory, named after the proposal itself. Inside the directory, some proposals may have different directories for different working groups or standards - for example, some proposals may be combined for Khronos SYCL for OpenCL and ISO C++.
We encourage interested users and developers in the community to contribute to our proposals. Feedback can be sent via Github issues, or by forking the repository and contributing pull requests.
Developers and members of the community can contact us directly via our website.
This repository contains proposals in different states of work, some of them will be work in progress while others are published and finished. Each proposal in the table below will be tagged with one of the following states:
- Work In Progress : The proposal is still a work in progress, so large changes should be expected.
- Draft : A draft of the proposal is ready, and no major changes are expected. This status normally indicates that the proposal is ready for feedback from the general public.
- Final Draft : The proposal is a draft submitted to the relevant standards body, and only minor changes are expected.
- Published : The proposal is finished and no more work is expected.
- Accepted, Accepted with changes or Partially accepted : Accepted on the standard version indicated as target. Refer to that standard document from now on for the latest status of the feature.
- Dropped : The proposal has been dropped in some stage, either replaced by other proposal or because it was no longer of interest. No further updates are expected on the proposal text, and may be eliminated from this registry in the future.
ID | Name | Target | Initial creation | Latest update | Status |
---|---|---|---|---|---|
CP001 | Asynchronous Data Flow | SYCL 1.2.1 | 20 July 2016 | 11 Jan 2017 | Partially accepted |
CP003 | Implicit Accessor Conversions | SYCL 1.2.1 | 28 March 2017 | 30 March 2017 | Accepted with changes |
CP004 | Placeholder Accessors | SYCL 1.2.1 | 20 July 2016 | 12 Jun 2017 | Accepted with changes |
CP005 | Asynchronous managed pointer for Heterogeneous computing | ISO C++ SG1, SG14 | 22 July 2016 | 6 Feb 2017 | Published |
CP006 | Maybe unused attribute in decomposition declarations | ISO C++ EWG | 22 February 2017 | 22 February 2017 | Published |
CP007 | Vector Load and Store Operations | SYCL 1.2.1 | 29 March 2017 | 30 March 2017 | Accepted with changes |
CP008 | Buffer tied to a context | SYCL 1.2.1 | 17 March 2017 | 4 July 2017 | Accepted |
CP009 | Async Work Group Copy & Prefetch Builtins | SYCL 1.2.1 | 07 August 2017 | 07 August 2017 | Accepted with changes |
CP011 | Mem Fence Builtins | SYCL 1.2.1 | 11 August 2017 | 9 September 2017 | Accepted |
CP012 | Data Movement in C++ | ISO C++ SG1, SG14 | 30 May 2017 | 28 August 2017 | Work in Progress |
CP013 | P1436 & P1795: Papers for affinity-based execution | ISO C++ SG1, SG14, LEWG | 15 November 2017 | 04 January 2020 | Published |
CP014 | Shared Virtual Memory | SYCL 2.2 | 22 January 2018 | 22 January 2018 | Work in Progress |
CP015 | Specialization Constant | SYCL 1.2.1 extension | 24 April 2018 | 24 April 2018 | Work in Progress |
CP017 | Host Access | SYCL 1.2.1 vendor extension | 17 September 2018 | 13 December 2018 | Available since CE 1.0.3 |
CP018 | Built-in kernels | SYCL 1.2.1 vendor extension | 12 October 2018 | 12 October 2018 | Available since CE 1.0.3 |
CP019 | On-chip Memory Allocation | SYCL 1.2.1 vendor extension | 03 December 2018 | 03 December 2018 | Available since CE 1.0.3 |
CP020 | Interop Task | SYCL 1.2.1 | 16 January 2019 | 16 January 2019 | Available since CE 1.0.5 |
CP021 | Default-Constructed Buffers | SYCL 1.2.1 | 27 August 2019 | 5 September 2019 | Draft |
CP022 | Host Task with Interop capabilities | SYCL 1.2.1 | 16 January 2019 | 20 January 2020 | Final Draft |