KhronosGroup / KhronosGroup/OpenCL-Registry

Adding a clEnqueueSetKernelArg() method?

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.