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
Copy file name to clipboardExpand all lines: docs/backend/SYCL.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,18 +20,14 @@
20
20
**oneAPI** is an open ecosystem and a standard-based specification, supporting multiple architectures including but not limited to intel CPUs, GPUs and FPGAs. The key components of the oneAPI ecosystem include:
21
21
22
22
-**DPCPP***(Data Parallel C++)*: The primary oneAPI SYCL implementation, which includes the icpx/icx Compilers.
23
-
-**oneAPI Libraries**: A set of highly optimized libraries targeting multiple domains *(e.g. oneMKL - Math Kernel Library)*.
23
+
-**oneAPI Libraries**: A set of highly optimized libraries targeting multiple domains *(e.g. oneMKL and oneDNN)*.
24
24
-**oneAPI LevelZero**: A high performance low level interface for fine-grained control over intel iGPUs and dGPUs.
25
25
-**Nvidia & AMD Plugins**: These are plugins extending oneAPI's DPCPP support to SYCL on Nvidia and AMD GPU targets.
26
26
27
27
### Llama.cpp + SYCL
28
28
29
29
The llama.cpp SYCL backend is designed to support **Intel GPU** firstly. Based on the cross-platform feature of SYCL, it could support other vendor GPUs: Nvidia GPU (*AMD GPU coming*).
30
30
31
-
When targeting **Intel CPU**, it is recommended to use llama.cpp for [Intel oneMKL](README.md#intel-onemkl) backend.
32
-
33
-
It has the similar design of other llama.cpp BLAS-based paths such as *OpenBLAS, cuBLAS, etc..*. In beginning work, the oneAPI's [SYCLomatic](https://github.com/oneapi-src/SYCLomatic) open-source migration tool (Commercial release [Intel® DPC++ Compatibility Tool](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html)) was used for this purpose.
34
-
35
31
## Recommended Release
36
32
37
33
The SYCL backend would be broken by some PRs due to no online CI.
@@ -45,6 +41,10 @@ The following release is verified with good quality:
45
41
46
42
## News
47
43
44
+
45
+
- 2024.8
46
+
- Use oneDNN as the default GEMM library, improve the compatibility for new Intel GPUs.
47
+
48
48
- 2024.5
49
49
- Performance is increased: 34 -> 37 tokens/s of llama-2-7b.Q4_0 on Arc770.
50
50
- Arch Linux is verified successfully.
@@ -196,7 +196,7 @@ Please follow the instructions for downloading and installing the Toolkit for Li
196
196
197
197
Following guidelines/code snippets assume the default installation values. Otherwise, please make sure the necessary changes are reflected where applicable.
198
198
199
-
Upon a successful installation, SYCL is enabled for the available intel devices, along with relevant libraries such as oneAPI MKL for intel GPUs.
199
+
Upon a successful installation, SYCL is enabled for the available intel devices, along with relevant libraries such as oneAPI oneDNN for Intel GPUs.
200
200
201
201
-**Adding support to Nvidia GPUs**
202
202
@@ -255,8 +255,6 @@ or
255
255
# Export relevant ENV variables
256
256
source /opt/intel/oneapi/setvars.sh
257
257
258
-
# Build LLAMA with MKL BLAS acceleration for intel GPU
259
-
260
258
# Option 1: Use FP32 (recommended for better performance in most cases)
0 commit comments