KhronosGroup / KhronosGroup/OpenCL-Docs

Relationship Between Platform Version and Device Version

Open
#214 1 comment 0 reactions 0 assignees View on GitHub
OpenCL API Spec
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.