From f396a3b65ed6bd9858f04a1dd75c7607de8c8985 Mon Sep 17 00:00:00 2001 From: jianyuzh Date: Sat, 20 Jan 2024 14:54:20 +0800 Subject: [PATCH] add know issue for pvc hang issue --- README_sycl.md | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/README_sycl.md b/README_sycl.md index df84e99b2..8b70823b3 100644 --- a/README_sycl.md +++ b/README_sycl.md @@ -1,5 +1,19 @@ # llama.cpp for SYCL +[Background](#background) + +[OS](#os) + +[Intel GPU](#intel-gpu) + +[Linux](#linux) + +[Environment Variable](#environment-variable) + +[Known Issue](#known-issue) + +[Todo](#todo) + ## Background SYCL is a higher-level programming model to improve programming productivity on various hardware accelerators—such as CPUs, GPUs, and FPGAs. It is a single-source embedded domain-specific language based on pure C++17. @@ -8,9 +22,6 @@ oneAPI is a specification that is open and standards-based, supporting multiple Intel uses the SYCL as direct programming language to support CPU, GPUs and FPGAs. - -## llama.cpp for SYCL - To avoid to re-invent the wheel, this code refer other code paths in llama.cpp (like OpenBLAS, cuBLAS, CLBlast). We use a open-source tool [SYCLomatic](https://github.com/oneapi-src/SYCLomatic) (Commercial release [Intel® DPC++ Compatibility Tool](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html)) migrate to SYCL. The llama.cpp for SYCL is used to support Intel GPUs. @@ -190,7 +201,7 @@ Using device **0** (Intel(R) Arc(TM) A770 Graphics) as main device ``` -### Environment Variable +## Environment Variable #### Build @@ -209,3 +220,16 @@ Using device **0** (Intel(R) Arc(TM) A770 Graphics) as main device |-|-|-| |GGML_SYCL_DEVICE|0 (default) or 1|Set the device id used. Check the device ids by default running output| |GGML_SYCL_DEBUG|0 (default) or 1|Enable log function by macro: GGML_SYCL_DEBUG| + +## Known Issue + +- Hang during startup + + llama.cpp use mmap as default way to read model file and copy to GPU. In some system, memcpy will be abnormal and block. + Solution: add **--no-mmap**. + +## Todo + +- Support to build in Windows. + +- Support multiple cards. \ No newline at end of file