KhronosGroup / KhronosGroup/OpenCL-Docs

Extension Dependencies on Specific OpenCL Versions

Open
#993 5 comments 0 reactions 0 assignees View on GitHub
OpenCL Extension Spec
Dominant language
Python
Stars
420
Forks
131
Avg merge
5d 13h
Merged PRs (30d)
11

Description

The current OpenCL extension spec requires specific OpenCL versions for several extensions:

1. The base-level `cl_khr_semaphore` extension and related external semaphore extensions requires OpenCL 1.2.
2. The `cl_khr_command_buffer` extension requires OpenCL 1.2.
3. The `cl_khr_subgroup_rotate` extension requires OpenCL 2.0.
* Note: none of the other "extended subgroup extensions" requires OpenCL 2.0.
5. The `cl_khr_work_group_uniform_arithmetic` extension requires OpenCL 2.0.
6. Several extensions explicitly call out a requirement on OpenCL 1.0.

Questions are:

* Presumably these extensions require the stated OpenCL version **or newer**?
* For the OpenCL versions greater than 1.0 are these OpenCL versions actually required? If so, why? Should the reason be documented in the OpenCL extension spec?
* Is it helpful to describe a requirement on OpenCL 1.0? Or, should this be the default if no other OpenCL version is required?

For completeness, these extensions also have a dependency on a specific OpenCL version, but they also describe the reason why the OpenCL version is required:

1. `cl_khr_external_memory` and the related extensions require OpenCL 3.0 because they require specifying buffer and image creation properties.

Contributor guide

Open the contributing guide

Research direction

Review the extension specifications for cl_khr_semaphore, cl_khr_command_buffer, cl_khr_subgroup_rotate, and cl_khr_work_group_uniform_arithmetic, along with the extensions that state OpenCL 1.0 dependencies. Determine whether each version is a minimum and whether its rationale is documented; done means the dependency wording and treatment of OpenCL 1.0 are resolved consistently across the specifications.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.