From: Atharva Dubey Date: Thu, 3 Apr 2025 12:12:39 +0000 (+0100) Subject: ci : add env variable in ggml-ci and document the same in SYCL.md (#12736) X-Git-Tag: gguf-v0.16.1~114 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=2004644b7a5da6fe080e51861ab583480280f1d3;p=pkg%2Fggml%2Fsources%2Fllama.cpp ci : add env variable in ggml-ci and document the same in SYCL.md (#12736) --- diff --git a/ci/run.sh b/ci/run.sh index 4d9c2dc4..ebd662b3 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -59,6 +59,8 @@ if [ ! -z ${GG_BUILD_SYCL} ]; then export ONEAPI_DEVICE_SELECTOR="level_zero:0" # Enable sysman for correct memory reporting export ZES_ENABLE_SYSMAN=1 + # to circumvent precision issues on CPY operations + export SYCL_PROGRAM_COMPILE_OPTIONS="-cl-fp32-correctly-rounded-divide-sqrt" CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_SYCL=1 -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON" fi diff --git a/docs/backend/SYCL.md b/docs/backend/SYCL.md index 19fe8a9d..f1204dde 100644 --- a/docs/backend/SYCL.md +++ b/docs/backend/SYCL.md @@ -302,6 +302,10 @@ cmake -B build -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx - cmake --build build --config Release -j -v ``` +It is possible to come across some precision issues when running tests that stem from using faster +instructions, which can be circumvented by setting the environment variable `SYCL_PROGRAM_COMPILE_OPTIONS` +as `-cl-fp32-correctly-rounded-divide-sqrt` + #### Nvidia GPU The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices. @@ -322,6 +326,9 @@ cmake -B build -DGGML_SYCL=ON -DGGML_SYCL_TARGET=NVIDIA -DGGML_SYCL_DEVICE_ARCH= cmake --build build --config Release -j -v ``` +It is possible to come across some precision issues when running tests that stem from using faster +instructions, which can be circumvented by passing the `-fno-fast-math` flag to the compiler. + #### AMD GPU The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices.