KhronosGroup / KhronosGroup/OpenCL-Registry
Adding a clEnqueueSetKernelArg() method?
- Dominant language
- HTML
- Stars
- 126
- Forks
- 50
- Avg merge
- 5m
- Merged PRs (30d)
- 2
Description
It would be highly beneficial to implement a clEnqueueSetKernelArg() method, particularly for setting scalars or vectors allocated in host memory.
This need arises, for example, during a reduction operation where the resulting scalar must be used in a subsequent kernel. Currently, it's not possible to call clEnqueueNDRangeKernel() until the final value is computed. However, since the address of the host memory is already known, introducing a clEnqueueSetKernelArg() function would eliminate this syncing point, thereby significantly reducing overhead.
What do you think guys? Is there any technical limitation that I do not understand?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the proposed clEnqueueSetKernelArg() entry point and the described reduction workflow involving clEnqueueNDRangeKernel(). Determine the technical limitations and specification changes required for host-memory scalars or vectors; the issue does not name files or tests, and it does not define an acceptance criterion beyond eliminating the synchronization point.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100