LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs:
+ ubuntu-24-sycl:
+ strategy:
+ matrix:
+ build: [fp32, fp16]
+ include:
+ - build: fp32
+ fp16: OFF
+ - build: fp16
+ fp16: ON
-# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
-# in order to enable it again, we have to provision dedicated runners to run it
-# ubuntu-24-sycl:
-# strategy:
-# matrix:
-# build: [fp32]
-# include:
-# - build: fp32
-# fp16: OFF
-#
-# runs-on: ubuntu-24.04
-#
-# env:
-# ONEAPI_ROOT: /opt/intel/oneapi/
-# ONEAPI_INSTALLER_VERSION: "2025.3.3"
-# LEVEL_ZERO_VERSION: "1.28.2"
-# LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
-#
-# continue-on-error: true
-#
-# steps:
-# - uses: actions/checkout@v6
-#
-# - name: Use oneAPI Installation Cache
-# uses: actions/cache@v5
-# id: cache-sycl
-# with:
-# path: ${{ env.ONEAPI_ROOT }}
-# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
-#
-# - name: Download & Install oneAPI
-# shell: bash
-# if: steps.cache-sycl.outputs.cache-hit != 'true'
-# run: |
-# cd /tmp
-# wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
-# sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
-#
-# - name: Install Level Zero SDK
-# shell: bash
-# run: |
-# cd /tmp
-# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
-# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
-# sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
-#
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: sycl-ubuntu-24-${{ matrix.build }}
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# - name: Build
-# id: cmake_build
-# run: |
-# source /opt/intel/oneapi/setvars.sh
-# cmake -B build \
-# -G "Ninja" \
-# -DCMAKE_BUILD_TYPE=Release \
-# -DGGML_SYCL=ON \
-# -DCMAKE_C_COMPILER=icx \
-# -DCMAKE_CXX_COMPILER=icpx \
-# -DLLAMA_OPENSSL=OFF \
-# -DGGML_NATIVE=OFF \
-# -DGGML_SYCL_F16=${{ matrix.fp16 }}
-# time cmake --build build --config Release -j $(nproc)
-
-# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
-# in order to enable it again, we have to provision dedicated runners to run it
-# windows-latest-sycl:
-# runs-on: windows-2022
-#
-# defaults:
-# run:
-# shell: bash
-#
-# env:
-# WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
-# WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
-# LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
-# ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
-# ONEAPI_INSTALLER_VERSION: "2025.3.3"
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: Use oneAPI Installation Cache
-# uses: actions/cache@v5
-# id: cache-sycl
-# with:
-# path: ${{ env.ONEAPI_ROOT }}
-# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
-#
-# - name: Download & Install oneAPI
-# shell: bash
-# if: steps.cache-sycl.outputs.cache-hit != 'true'
-# run: |
-# scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
-#
-# - name: Install Level Zero SDK
-# shell: pwsh
-# run: |
-# Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
-# Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
-# "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: sycl-windows-latest
-# variant: ccache
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# # TODO: add ssl support ; we will also need to modify win-build-sycl.bat to accept user-specified args
-#
-# - name: Build
-# id: cmake_build
-# run: examples/sycl/win-build-sycl.bat
+ runs-on: ubuntu-24.04
+
+ env:
+ ONEAPI_ROOT: /opt/intel/oneapi/
+ ONEAPI_INSTALLER_VERSION: "2025.3.3"
+ LEVEL_ZERO_VERSION: "1.28.2"
+ LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
+
+ continue-on-error: true
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+
+ - name: Download & Install oneAPI
+ shell: bash
+ run: |
+ cd /tmp
+ wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
+ sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
+
+ - name: Install Level Zero SDK
+ shell: bash
+ run: |
+ cd /tmp
+ wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
+ wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
+ sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
+
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.21
+ with:
+ key: sycl-ubuntu-24-${{ matrix.build }}
+ evict-old-files: 1d
+ save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+
+ - name: Build
+ id: cmake_build
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ cmake -B build \
+ -G "Ninja" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DGGML_SYCL=ON \
+ -DCMAKE_C_COMPILER=icx \
+ -DCMAKE_CXX_COMPILER=icpx \
+ -DLLAMA_OPENSSL=OFF \
+ -DGGML_NATIVE=OFF \
+ -DGGML_SYCL_F16=${{ matrix.fp16 }}
+ time cmake --build build --config Release -j $(nproc)
+
+ windows-latest-sycl:
+ runs-on: windows-2022
+
+ defaults:
+ run:
+ shell: bash
+
+ env:
+ WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
+ WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
+ LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
+ ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
+ ONEAPI_INSTALLER_VERSION: "2025.3.3"
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+
+ - name: Download & Install oneAPI
+ shell: bash
+ run: |
+ scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
+
+ - name: Install Level Zero SDK
+ shell: pwsh
+ run: |
+ Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
+ Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
+ "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
+
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.21
+ with:
+ key: sycl-windows-latest
+ variant: ccache
+ evict-old-files: 1d
+ save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+
+ # TODO: add ssl support ; we will also need to modify win-build-sycl.bat to accept user-specified args
+
+ - name: Build
+ id: cmake_build
+ run: examples/sycl/win-build-sycl.bat
path: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip
name: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip
-# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
-# in order to enable it again, we have to provision dedicated runners to run it
-# windows-sycl:
-#
-# runs-on: windows-2022
-#
-# defaults:
-# run:
-# shell: bash
-#
-# env:
-# WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
-# WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
-# LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
-# ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
-# ONEAPI_INSTALLER_VERSION: "2025.3.3"
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: Use oneAPI Installation Cache
-# uses: actions/cache@v5
-# id: cache-sycl
-# with:
-# path: ${{ env.ONEAPI_ROOT }}
-# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
-#
-# - name: Download & Install oneAPI
-# shell: bash
-# if: steps.cache-sycl.outputs.cache-hit != 'true'
-# run: |
-# scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
-#
-# - name: Install Level Zero SDK
-# shell: pwsh
-# run: |
-# Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
-# Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
-# "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
-#
-# - name: Setup Node.js
-# uses: actions/setup-node@v6
-# with:
-# node-version: "24"
-# cache: "npm"
-# cache-dependency-path: "tools/ui/package-lock.json"
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: release-windows-2022-x64-sycl
-#
-# - name: Build
-# id: cmake_build
-# shell: cmd
-# run: |
-# call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
-# cmake -G "Ninja" -B build ^
-# -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx ^
-# -DCMAKE_BUILD_TYPE=Release ^
-# -DGGML_BACKEND_DL=ON -DBUILD_SHARED_LIBS=ON ^
-# -DGGML_CPU=OFF -DGGML_SYCL=ON ^
-# -DLLAMA_BUILD_BORINGSSL=ON
-# cmake --build build --target ggml-sycl -j
-#
-# - name: Build the release package
-# id: pack_artifacts
-# run: |
-# echo "cp oneAPI running time dll files in ${{ env.ONEAPI_ROOT }} to ./build/bin"
-#
-# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_sycl_blas.5.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_core.2.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_tbb_thread.2.dll" ./build/bin
-#
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero_v2.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_opencl.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_loader.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_win_proxy_loader.dll" ./build/bin
-# ZE_LOADER_DLL=$(find "${{ env.ONEAPI_ROOT }}" "$LEVEL_ZERO_V1_SDK_PATH" -iname ze_loader.dll -print -quit 2>/dev/null || true)
-# if [ -n "$ZE_LOADER_DLL" ]; then
-# echo "Using Level Zero loader: $ZE_LOADER_DLL"
-# cp "$ZE_LOADER_DLL" ./build/bin
-# else
-# echo "Level Zero loader DLL not found in oneAPI or SDK; relying on system driver/runtime"
-# fi
-#
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl8.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/svml_dispmd.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libmmd.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libiomp5md.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl-ls.exe" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-fallback-bfloat16.spv" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-native-bfloat16.spv" ./build/bin
-#
-# cp "${{ env.ONEAPI_ROOT }}/dnnl/latest/bin/dnnl.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin
-#
-# cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/tcm.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/libhwloc-15.dll" ./build/bin
-# cp "${{ env.ONEAPI_ROOT }}/umf/latest/bin/umf.dll" ./build/bin
-#
-# echo "cp oneAPI running time dll files to ./build/bin done"
-# 7z a -snl llama-bin-win-sycl-x64.zip ./build/bin/*
-#
-# - name: Upload the release package
-# uses: actions/upload-artifact@v6
-# with:
-# path: llama-bin-win-sycl-x64.zip
-# name: llama-bin-win-sycl-x64.zip
+ windows-sycl:
-# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
-# in order to enable it again, we have to provision dedicated runners to run it
-# ubuntu-24-sycl:
-#
-# strategy:
-# matrix:
-# build: [fp32]
-# include:
-# - build: fp32
-# fp16: OFF
-#
-# runs-on: ubuntu-24.04
-#
-# env:
-# ONEAPI_ROOT: /opt/intel/oneapi/
-# ONEAPI_INSTALLER_VERSION: "2025.3.3"
-# LEVEL_ZERO_VERSION: "1.28.2"
-# LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-# with:
-# fetch-depth: 0
-#
-# - name: Use oneAPI Installation Cache
-# uses: actions/cache@v5
-# id: cache-sycl
-# with:
-# path: ${{ env.ONEAPI_ROOT }}
-# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
-#
-# - name: Download & Install oneAPI
-# shell: bash
-# if: steps.cache-sycl.outputs.cache-hit != 'true'
-# run: |
-# cd /tmp
-# wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
-# sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
-#
-# - name: Install Level Zero SDK
-# shell: bash
-# run: |
-# cd /tmp
-# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
-# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
-# sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
-#
-# - name: Setup Node.js
-# uses: actions/setup-node@v6
-# with:
-# node-version: "24"
-# cache: "npm"
-# cache-dependency-path: "tools/ui/package-lock.json"
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: release-ubuntu-24.04-sycl
-#
-# - name: Build
-# id: cmake_build
-# run: |
-# source /opt/intel/oneapi/setvars.sh
-# cmake -B build \
-# -G "Ninja" \
-# -DCMAKE_BUILD_TYPE=Release \
-# -DGGML_SYCL=ON \
-# -DCMAKE_C_COMPILER=icx \
-# -DCMAKE_CXX_COMPILER=icpx \
-# -DLLAMA_OPENSSL=OFF \
-# -DGGML_NATIVE=OFF \
-# -DGGML_SYCL_F16=${{ matrix.fp16 }}
-# time cmake --build build --config Release -j $(nproc)
-#
-# - name: Determine tag name
-# id: tag
-# uses: ./.github/actions/get-tag-name
-#
-# - name: Pack artifacts
-# id: pack_artifacts
-# run: |
-# cp LICENSE ./build/bin/
-# tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin .
-#
-# - name: Upload artifacts
-# uses: actions/upload-artifact@v6
-# with:
-# path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
-# name: llama-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
+ runs-on: windows-2022
+
+ defaults:
+ run:
+ shell: bash
+
+ env:
+ WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
+ WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
+ LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
+ ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
+ ONEAPI_INSTALLER_VERSION: "2025.3.3"
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+
+ - name: Download & Install oneAPI
+ shell: bash
+ run: |
+ scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
+
+ - name: Install Level Zero SDK
+ shell: pwsh
+ run: |
+ Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
+ Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
+ "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v6
+ with:
+ node-version: "24"
+ cache: "npm"
+ cache-dependency-path: "tools/ui/package-lock.json"
+
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.21
+ with:
+ key: release-windows-2022-x64-sycl
+
+ - name: Build
+ id: cmake_build
+ shell: cmd
+ run: |
+ call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
+ cmake -G "Ninja" -B build ^
+ -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx ^
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DGGML_BACKEND_DL=ON -DBUILD_SHARED_LIBS=ON ^
+ -DGGML_CPU=OFF -DGGML_SYCL=ON ^
+ -DLLAMA_BUILD_BORINGSSL=ON
+ cmake --build build --target ggml-sycl -j %NUMBER_OF_PROCESSORS%
+
+ - name: ccache-clear
+ uses: ./.github/actions/ccache-clear
+ with:
+ key: release-windows-2022-x64-sycl
+
+ - name: Build the release package
+ id: pack_artifacts
+ run: |
+ echo "cp oneAPI running time dll files in ${{ env.ONEAPI_ROOT }} to ./build/bin"
+
+ cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_sycl_blas.5.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_core.2.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_tbb_thread.2.dll" ./build/bin
+
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero_v2.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_opencl.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_loader.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_win_proxy_loader.dll" ./build/bin
+ ZE_LOADER_DLL=$(find "${{ env.ONEAPI_ROOT }}" "$LEVEL_ZERO_V1_SDK_PATH" -iname ze_loader.dll -print -quit 2>/dev/null || true)
+ if [ -n "$ZE_LOADER_DLL" ]; then
+ echo "Using Level Zero loader: $ZE_LOADER_DLL"
+ cp "$ZE_LOADER_DLL" ./build/bin
+ else
+ echo "Level Zero loader DLL not found in oneAPI or SDK; relying on system driver/runtime"
+ fi
+
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl8.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/svml_dispmd.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libmmd.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libiomp5md.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl-ls.exe" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-fallback-bfloat16.spv" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-native-bfloat16.spv" ./build/bin
+
+ cp "${{ env.ONEAPI_ROOT }}/dnnl/latest/bin/dnnl.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin
+
+ cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/tcm.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/libhwloc-15.dll" ./build/bin
+ cp "${{ env.ONEAPI_ROOT }}/umf/latest/bin/umf.dll" ./build/bin
+
+ echo "cp oneAPI running time dll files to ./build/bin done"
+ 7z a -snl llama-bin-win-sycl-x64.zip ./build/bin/*
+
+ - name: Upload the release package
+ uses: actions/upload-artifact@v6
+ with:
+ path: llama-bin-win-sycl-x64.zip
+ name: llama-bin-win-sycl-x64.zip
+
+ ubuntu-24-sycl:
+
+ strategy:
+ matrix:
+ build: [fp32, fp16]
+ include:
+ - build: fp32
+ fp16: OFF
+ - build: fp16
+ fp16: ON
+
+ runs-on: ubuntu-24.04
+
+ env:
+ ONEAPI_ROOT: /opt/intel/oneapi/
+ ONEAPI_INSTALLER_VERSION: "2025.3.3"
+ LEVEL_ZERO_VERSION: "1.28.2"
+ LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+
+ - name: Download & Install oneAPI
+ shell: bash
+ run: |
+ cd /tmp
+ wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
+ sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
+
+ - name: Install Level Zero SDK
+ shell: bash
+ run: |
+ cd /tmp
+ wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
+ wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
+ sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v6
+ with:
+ node-version: "24"
+ cache: "npm"
+ cache-dependency-path: "tools/ui/package-lock.json"
+
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.21
+ with:
+ key: release-ubuntu-24.04-sycl-${{ matrix.build }}
+
+ - name: Build
+ id: cmake_build
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ cmake -B build \
+ -G "Ninja" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DGGML_SYCL=ON \
+ -DCMAKE_C_COMPILER=icx \
+ -DCMAKE_CXX_COMPILER=icpx \
+ -DLLAMA_OPENSSL=OFF \
+ -DGGML_NATIVE=OFF \
+ -DGGML_SYCL_F16=${{ matrix.fp16 }}
+ time cmake --build build --config Release -j $(nproc)
+
+ - name: ccache-clear
+ uses: ./.github/actions/ccache-clear
+ with:
+ key: release-ubuntu-24.04-sycl-${{ matrix.build }}
+
+ - name: Determine tag name
+ id: tag
+ uses: ./.github/actions/get-tag-name
+
+ - name: Pack artifacts
+ id: pack_artifacts
+ run: |
+ cp LICENSE ./build/bin/
+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin .
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v6
+ with:
+ path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
+ name: llama-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
ubuntu-22-rocm:
needs: [check-release]