Skip to content

Improve sycl-ls output when no devices are available #22313

@0x12CC

Description

@0x12CC

Is your feature request related to a problem? Please describe

Presently, when no SYCL devices are available, running sycl-ls produces no output. Many users have provided feedback saying they get stuck at this point during the initial system setup. A system with zero available SYCL devices nearly always implies some configuration issue. For non-experts, it can be challenging to figure out the problem without any feedback from the sycl-ls tool.

Describe the solution you would like

We should provide some guidance to users when the runtime detects no SYCL devices. At a minimum, the sycl-ls tool could reference some setup documentation. A better solution would be to present a checklist of runtime tests that are used to query the available devices. As an example, the tool could inform the user if any packages need to be installed, a dynamic library failed to load, or the devices are being filtered by an environment variable. The user is running sycl-ls on a CPU so we should at least be able to guide them towards configuring the OpenCL CPU backend correctly.

Describe alternatives you have considered

Current alternatives are the following:

  1. Run sycl-ls with the --verbose flag. This provides some additional information but is rarely useful for understanding why SYCL devices are not listed.
  2. Run sycl-ls with the strace tool. This will produce an output of all of the system calls made by the tool and can point towards missing dependencies.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions