KhronosGroup / KhronosGroup/OpenCL-Docs

Unified API spec: Consider thread-safety description

Open
#155 0 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.