KhronosGroup / KhronosGroup/SPIRV-Registry
cl_khr_extended_async_copies is missing SPIR-V extension
- Dominant language
- HTML
- Stars
- 149
- Forks
- 99
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 2
Description
The OpenCL [cl_khr_extended_async_copies](https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_async_copies) extension is missing a corresponding SPIR-V extension.
[`OpGroupAsyncCopy`](https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#OpGroupAsyncCopy) exists and can be mapped to the CL C `async_work_group_strided_copy` buitlin, but for the 2D - 2D and 3D - 3D variants defined in cl_khr_extended_async_copies there are no corresponding SPIR-V instructions (`OpGroupAsyncCopy` doesn't support enough parameters for the source and destination offsets and strides in the CL C extension).
I guess we'd probably want two new instructions corresponding to the two builtins introduced in the OpenCL extension, something like `OpGroupAsyncCopy2D` and `OpGroupAsyncCopy3D` taking parameters analogous to `async_work_group_copy_2D2D` and `async_work_group_copy_3D3D`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing the linked OpenCL cl_khr_extended_async_copies specification with the linked SPIR-V OpGroupAsyncCopy instruction. Determine the required instruction design for the 2D–2D and 3D–3D variants, and consider the work complete when the missing SPIR-V extension is specified consistently with those builtins.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100