intel / intel/llvm

Improve `sycl-ls` output when no devices are available

Open
#22,313 0 comments 2 reactions 0 assignees View on GitHub
confirmed enhancement
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### 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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.