oneapi-src / oneapi-src/unified-runtime
CL adapter: add consistent and useful fail state if entry point extension isn't supported.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 57
- Forks
- 120
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 1
Description
We have a few entry point implementations in the CL adapter that rely on functions from OpenCL extensions, such as the USM functionality. Right now if we find that the CL extension function needed for an entry point isn't available we return UR_RESULT_ERROR_INVALID_VALUE, which isn't helpful and doesn't fit with the few instances where we have a spec definition of what should happen in these cases (for instance the UR_RESULT_ERROR_INVALID_OPERATION return from urUSMHostAlloc).
We should for sure just change the return code from that helper function, and I think this should be accompanied by a spec pass to make sure that, wherever appropriate, we have a return code defined for when a backend doesn't support an entry point with an associated device info query. For example the host pipe functions are similar to the USM ones in that there is an associated device info query for support, but their spec doesn't define the error code that should be returned if that support isn't there.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with source/adapters/opencl/common.hpp and the USM implementation in source/adapters/opencl/usm.cpp, focusing on the helper's handling of unavailable extension functions. Review the urUSMHostAlloc and host pipe specifications to identify where backend support errors are defined or missing. Done means the return behavior and relevant specification definitions are consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100