KhronosGroup / KhronosGroup/SPIRV-Registry

cl_khr_extended_async_copies is missing SPIR-V extension

Open
#154 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.