1# llama.cpp/example/sycl
2
3This example program provides the tools for llama.cpp for SYCL on Intel GPU.
4
5## Tool
6
7|Tool Name| Function|Status|
8|-|-|-|
9|llama-ls-sycl-device| List all SYCL devices with ID, compute capability, max work group size, ect.|Support|
10
11### llama-ls-sycl-device
12
13List all SYCL devices with ID, compute capability, max work group size, ect.
14
151. Build the llama.cpp for SYCL for the specified target *(using GGML_SYCL_TARGET)*.
16
172. Enable oneAPI running environment *(if GGML_SYCL_TARGET is set to INTEL -default-)*
18
19```
20source /opt/intel/oneapi/setvars.sh
21```
22
233. Execute
24
25```
26./build/bin/llama-ls-sycl-device
27```
28
29Check the ID in startup log, like:
30
31```
32found 2 SYCL devices:
33| | | | |Max | |Max |Global | |
34| | | | |compute|Max work|sub |mem | |
35|ID| Device Type| Name|Version|units |group |group|size | Driver version|
36|--|-------------------|---------------------------------------|-------|-------|--------|-----|-------|---------------------|
37| 0| [level_zero:gpu:0]| Intel Arc A770 Graphics| 1.3| 512| 1024| 32| 16225M| 1.3.29138|
38| 1| [level_zero:gpu:1]| Intel UHD Graphics 750| 1.3| 32| 512| 32| 62631M| 1.3.29138|
39
40```
41