KhronosGroup / KhronosGroup/OpenCL-Docs
Unified API spec: Consider thread-safety description
Open
@alycm is already working on this.
Since Oct 28, 2019.
OpenCL API Spec
- Dominant language
- Python
- Stars
- 421
- Forks
- 132
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 11
Description
The description of which API entry points are thread-safe (or not) was made much clearer in the 1.1 specification, but the unified API spec should still describe the 1.0 case.
A concrete case where this matters is the deprecated clSetCommandQueueProperty function. During review of the initial unified API PR @bashbaug suggested [1] taking the wording already present in the OpenCL unified headers:
/*
* WARNING:
* This API introduces mutable state into the OpenCL implementation. It has been REMOVED
* to better facilitate thread safety. The 1.0 API is not thread safe. It is not tested by the
* OpenCL 1.1 conformance test, and consequently may not work or may not work dependably.
* It is likely to be non-performant. Use of this API is not advised. Use at your own risk.
*
* Software developers previously relying on this API are instructed to set the command queue
* properties when creating the queue, instead.
*/
[1] https://github.com/KhronosGroup/OpenCL-Docs/pull/78#discussion_r334115134
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.