/standards-proposals

Repository for publicly sharing proposals in various standards groups

Primary LanguageC++Apache License 2.0Apache-2.0

Public proposals for standards groups

Codeplay Software Ltd.

Objective of the repository

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.

Structure of the repository

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++.

How to contribute

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.

Status of the proposals

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.

Current list of proposals and status

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