oneapi-src / oneapi-src/unified-runtime
Make errors caused by undefined symbols in adapter libraries more visible
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 57
- Forks
- 120
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 1
Description
If a UR entry point is left undefined in an adapter library the loader will fail to load it and quietly behave as if no devices belonging to that adapter are available. In this state you can enable loader logging to get an error message like the following:
<LOADER>[INFO]: failed to load adapter 'unified-runtime/build/lib/libur_adapter_level_zero_v2.so' with error: unified-runtime/build/lib/libur_adapter_level_zero_v2.so: undefined symbol: _ZN2ur10level_zero25urCommandBufferEnqueueExpEP31ur_exp_command_buffer_handle_t_P18ur_queue_handle_t_jPKP18ur_event_handle_t_PS6_
When a situation like this is causing CI fails it isn't currently obvious what's going on, it takes a bit of manual debugging (and knowing about the existence of loader logging) to figure it out. We should take steps to improve visibility of this error condition. One proposed solution is to make sure we're running urinfo with loader logging enabled as an early step in our CI, with the step failing if no devices are available for the adapters being tested.
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 by tracing the CI path that tests the adapters and the urinfo invocation described in the issue. Check how loader logging and the no-device result are currently exposed; done means an undefined adapter symbol produces a visible CI failure identifying the loading error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100