oneapi-src / oneapi-src/unified-runtime

Make errors caused by undefined symbols in adapter libraries more visible

Open
#2,691 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci/cd loader
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.