KhronosGroup / KhronosGroup/OpenCL-Docs
Clarify clLinkProgram error behavior when no compiled binaries are found
- Dominant language
- Python
- Stars
- 420
- Forks
- 131
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 11
Description
The `input_programs` description allows for none of the programs to contain a compiled library or binary for a particular device, but it is not clear what happens if none of the programs contains a compiled library or binary for any device (e.g. for a device list with only one device in it).
There is some ambiguity in this error description:
`CL_INVALID_OPERATION if the compilation or build of a program executable for any of the devices
listed in device_list by a previous call to clCompileProgram or clBuildProgram for program
has not completed.`
1. If you interpret it as requiring that either clCompileProgram or clBuildProgram must be called and completed before clLinkProgram (for at least one device), then this error would be appropriate for our situation.
2. If you interpret it as requiring that either clCompileProgram or clBuildProgram must be completed IF called, then there would be no error if neither had been called previously and no binaries are found. It's unclear what the cl_program return value should contain in this case.
Contributor guide
Research direction
Review the clLinkProgram input_programs description and the quoted CL_INVALID_OPERATION text first. Determine the intended behavior when no compiled binaries exist for any device, including what the returned cl_program should contain, then clarify both points in the OpenCL specification.
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