Open
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.