You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove support for Nvidia & AMD GPU, because the oneAPI plugin for Nvidia & AMD GPU is unavailable: download/installation channels are out of work. (ggml-org#19246)
User can't build up the software for Nvidia & AMD GPU.
rm the oneMath since it is only used in NV and AMD code path.
-**DPCPP***(Data Parallel C++)*: The primary oneAPI SYCL implementation, which includes the icpx/icx Compilers.
23
23
-**oneAPI Libraries**: A set of highly optimized libraries targeting multiple domains *(e.g. Intel oneMKL, oneMath and oneDNN)*.
24
24
-**oneAPI LevelZero**: A high performance low level interface for fine-grained control over Intel iGPUs and dGPUs.
25
-
-**Nvidia & AMD Plugins**: These are plugins extending oneAPI's DPCPP support to SYCL on Nvidia and AMD GPU targets.
26
25
27
26
### Llama.cpp + SYCL
28
27
29
28
The llama.cpp SYCL backend is primarily designed for **Intel GPUs**.
30
-
SYCL cross-platform capabilities enable support for Nvidia GPUs as well, with limited support for AMD.
29
+
SYCL cross-platform capabilities enable support for other vendor GPUs as well.
31
30
32
31
## Recommended Release
33
32
@@ -42,6 +41,9 @@ The following releases are verified and recommended:
42
41
43
42
## News
44
43
44
+
- 2026.02
45
+
- Remove support for Nvidia & AMD GPU, because the oneAPI plugin for Nvidia & AMD GPU is unavailable: download/installation channels are out of work. User can't build up the software for Nvidia & AMD GPU.
46
+
45
47
- 2025.11
46
48
- Support malloc memory on device more than 4GB.
47
49
@@ -111,8 +113,8 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the
In order to target Nvidia GPUs through SYCL, please make sure the CUDA/CUBLAS native requirements *-found [here](README.md#cuda)-* are installed.
218
-
219
-
-**AMD GPU**
220
-
221
-
To target AMD GPUs with SYCL, the ROCm stack must be installed first.
222
-
223
204
2.**Install Intel® oneAPI Base toolkit**
224
205
225
206
SYCL backend depends on:
@@ -248,23 +229,6 @@ Upon a successful installation, SYCL is enabled for the available intel devices,
248
229
|2025.1|
249
230
|2024.1|
250
231
251
-
-**Adding support to Nvidia GPUs**
252
-
253
-
**oneAPI Plugin**: In order to enable SYCL support on Nvidia GPUs, please install the [Codeplay oneAPI Plugin for Nvidia GPUs](https://developer.codeplay.com/products/oneapi/nvidia/download). User should also make sure the plugin version matches the installed base toolkit one *(previous step)* for a seamless "oneAPI on Nvidia GPU" setup.
254
-
255
-
**oneDNN**: The current oneDNN releases *(shipped with the oneAPI base-toolkit)* do not include the NVIDIA backend. Therefore, oneDNN must be compiled from source to enable the NVIDIA target:
**oneAPI Plugin**: In order to enable SYCL support on AMD GPUs, please install the [Codeplay oneAPI Plugin for AMD GPUs](https://developer.codeplay.com/products/oneapi/amd/download). As with Nvidia GPUs, the user should also make sure the plugin version matches the installed base toolkit.
267
-
268
232
3.**Verify installation and environment**
269
233
270
234
In order to check the available SYCL devices on the machine, please use the `sycl-ls` command.
@@ -285,25 +249,6 @@ When targeting an intel GPU, the user should expect one or more devices among th
[hip:gpu][hip:0] AMD HIP BACKEND, AMD Radeon PRO W6800 gfx1030 [HIP 60140.9]
305
-
```
306
-
307
252
### II. Build llama.cpp
308
253
309
254
#### Intel GPU
@@ -332,47 +277,6 @@ It is possible to come across some precision issues when running tests that stem
332
277
instructions, which can be circumvented by setting the environment variable `SYCL_PROGRAM_COMPILE_OPTIONS`
333
278
as `-cl-fp32-correctly-rounded-divide-sqrt`
334
279
335
-
#### Nvidia GPU
336
-
337
-
The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices.
338
-
By default it is automatically built along with the project. A specific build can be provided by setting the CMake flag `-DoneMath_DIR=/path/to/oneMath/install/lib/cmake/oneMath`.
339
-
340
-
```sh
341
-
# Build LLAMA with Nvidia BLAS acceleration through SYCL
342
-
# Setting GGML_SYCL_DEVICE_ARCH is optional but can improve performance
343
-
GGML_SYCL_DEVICE_ARCH=sm_80 # Example architecture
344
-
345
-
# Option 1: Use FP32 (recommended for better performance in most cases)
It is possible to come across some precision issues when running tests that stem from using faster
356
-
instructions, which can be circumvented by passing the `-fno-fast-math` flag to the compiler.
357
-
358
-
#### AMD GPU
359
-
360
-
The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices.
361
-
By default it is automatically built along with the project. A specific build can be provided by setting the CMake flag `-DoneMath_DIR=/path/to/oneMath/install/lib/cmake/oneMath`.
362
-
363
-
```sh
364
-
# Build LLAMA with rocBLAS acceleration through SYCL
365
-
366
-
## AMD
367
-
# Use FP32, FP16 is not supported
368
-
# Find your GGML_SYCL_DEVICE_ARCH with rocminfo, under the key 'Name:'
369
-
GGML_SYCL_DEVICE_ARCH=gfx90a # Example architecture
| GGML_SYCL | ON (mandatory) | Enable build with SYCL code path. |
769
-
| GGML_SYCL_TARGET | INTEL *(default)*\| NVIDIA \| AMD| Set the SYCL target device type. |
770
-
| GGML_SYCL_DEVICE_ARCH | Optional (except for AMD)| Set the SYCL device architecture, optional except for AMD. Setting the device architecture can improve the performance. See the table [--offload-arch](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/OffloadDesign.md#--offload-arch) for a list of valid architectures. |
673
+
| GGML_SYCL_TARGET | INTEL *(default)*| Set the SYCL target device type. |
674
+
| GGML_SYCL_DEVICE_ARCH | Optional | Set the SYCL device architecture. Setting the device architecture can improve the performance. See the table [--offload-arch](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/OffloadDesign.md#--offload-arch) for a list of valid architectures. |
771
675
| GGML_SYCL_F16 | OFF *(default)*\|ON *(optional)*| Enable FP16 build with SYCL code path. (1.) |
772
-
| GGML_SYCL_GRAPH |ON*(default)*\|OFF*(Optional)*| Enable build with [SYCL Graph extension](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc). |
676
+
| GGML_SYCL_GRAPH |OFF*(default)*\|ON*(Optional)*| Enable build with [SYCL Graph extension](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc). |
773
677
| GGML_SYCL_DNN | ON *(default)*\|OFF *(Optional)*| Enable build with oneDNN. |
774
678
| CMAKE_C_COMPILER |`icx`*(Linux)*, `icx/cl`*(Windows)*| Set `icx` compiler for SYCL code path. |
775
679
| CMAKE_CXX_COMPILER |`icpx`*(Linux)*, `icx`*(Windows)*| Set `icpx/icx` compiler for SYCL code path. |
776
680
777
-
1. FP16 is recommended for better prompt processing performance on quantized models. Performance is equivalent in text generation but set`GGML_SYCL_F16=OFF` if you are experiencing issues with FP16 builds.
681
+
1.FP32 or FP16 have different performance impact to LLM. Recommended to test them for better prompt processing performance on your models. You need to rebuild the code after change`GGML_SYCL_F16=OFF/ON`.
| GGML_SYCL_DEBUG | 0 (default) or 1 | Enable log function by macro: GGML_SYCL_DEBUG |
784
688
| GGML_SYCL_DISABLE_OPT | 0 (default) or 1 | Disable optimize features for Intel GPUs. (Recommended to 1 for intel devices older than Gen 10) |
785
-
| GGML_SYCL_DISABLE_GRAPH | 0 or 1 (default) | Disable running computations through SYCL Graphs feature. Disabled by default because graph performance isn't yet better than non-graph performance. |
689
+
| GGML_SYCL_DISABLE_GRAPH | 0 or 1 (default) | Disable running computations through SYCL Graphs feature. Disabled by default because SYCL Graph is still on development, no better performance. |
786
690
| GGML_SYCL_DISABLE_DNN | 0 (default) or 1 | Disable running computations through oneDNN and always use oneMKL. |
787
691
| ZES_ENABLE_SYSMAN | 0 (default) or 1 | Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory.<br>Recommended to use when --split-mode = layer |
788
692
| UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS | 0 (default) or 1 | Support malloc device memory more than 4GB.|
0 commit comments