KhronosGroup / KhronosGroup/OpenCL-Docs
Relationship Between Platform Version and Device Version
- Dominant language
- Python
- Stars
- 420
- Forks
- 131
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 11
Description
I'm opening this issue to discuss an issue I encountered recently regarding the draft [cl_intel_unified_shared_memory](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/USM/cl_intel_unified_shared_memory.asciidoc) extension. This extension is intended to be used by devices supporting many diverse OpenCL versions, however it uses some of the concepts, enums, and APIs defined in newer versions of OpenCL. Specifically, it uses the `cl_mem_migration_flags` type and enumerations defined in OpenCL 1.2, and it extends the `clSetKernelExecInfo` API defined in OpenCL 2.0.
For now, I have defined aliases for the `cl_mem_migration_flags` type and enumerations, but this feels confusing and unnecessary, and it doesn't address `clSetKernelExecInfo`. So, I am looking for an alternative solution.
The OpenCL spec describes the different [OpenCL components and their versions](https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_API.html#opencl-framework), including "Mixed Version Support". What I am wondering specifically is:
* Is it valid and conformant for an OpenCL 2.x **platform** to contain only OpenCL 1.x **devices**, so the OpenCL 1.x devices can make use of the `cl_mem_migration_flags` type and `clSetKernelInfo` API?
* If so, can an extension (such as USM) require support for a newer OpenCL platform when it is supported by an older OpenCL device?
Contributor guide
Research direction
Start by reading the linked cl_intel_unified_shared_memory extension and the OpenCL API specification's Mixed Version Support section. Determine whether the two versioning questions require clarification or a specification change; the issue names no target file, test, or concrete documentation edit.
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