@@ -30,8 +30,6 @@ concurrency:
3030
3131env :
3232 CUDA_VERSION_WINDOWS : " 12.4"
33- LEVEL_ZERO_VERSION : " 1.28.2"
34- LEVEL_ZERO_UBUNTU_VERSION : " u24.04"
3533 VULKAN_VERSION : " 1.4.313.2"
3634
3735jobs :
4139 container : nvidia/cuda:12.6.2-devel-ubuntu24.04
4240 env :
4341 CUDA_ARCHITECTURES : ${{ github.event.inputs.cuda_architectures || '61;75;86' }}
44- ONEAPI_ROOT : /opt/intel/oneapi
4542
4643 steps :
4744 - name : Clone
6966 libssl-dev \
7067 libvulkan-dev \
7168 ninja-build \
72- spirv-headers \
73- wget
74-
75- - name : Download and install oneAPI
76- run : |
77- cd /tmp
78- 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
79- bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
80-
81- - name : Install Level Zero SDK
82- run : |
83- cd /tmp
84- 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
85- 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
86- apt-get install -y ./level-zero.deb ./level-zero-devel.deb
69+ spirv-headers
8770
8871 - name : ccache
8972 uses : ggml-org/ccache-action@v1.2.21
@@ -112,30 +95,6 @@ jobs:
11295 -DLLAMA_BUILD_TOOLS=ON
11396 cmake --build build --config Release -j $(nproc)
11497
115- - name : Build Linux SYCL backend
116- shell : bash
117- run : |
118- source /opt/intel/oneapi/setvars.sh
119- cmake -S . -B build-sycl -G Ninja \
120- -DCMAKE_BUILD_TYPE=Release \
121- -DCMAKE_C_COMPILER=icx \
122- -DCMAKE_CXX_COMPILER=icpx \
123- -DBUILD_SHARED_LIBS=ON \
124- -DGGML_BACKEND_DL=ON \
125- -DGGML_CPU=OFF \
126- -DGGML_CUDA=OFF \
127- -DGGML_NATIVE=OFF \
128- -DGGML_SYCL=ON \
129- -DGGML_SYCL_F16=ON \
130- -DGGML_VULKAN=OFF \
131- -DLLAMA_BUILD_COMMON=OFF \
132- -DLLAMA_BUILD_EXAMPLES=OFF \
133- -DLLAMA_BUILD_SERVER=OFF \
134- -DLLAMA_BUILD_TESTS=OFF \
135- -DLLAMA_BUILD_TOOLS=OFF
136- cmake --build build-sycl --config Release -j $(nproc) --target ggml-sycl
137- cp -P build-sycl/bin/libggml-sycl.so* build/bin/
138-
13998 - name : Copy runtime libraries
14099 run : |
141100 cp LICENSE build/bin/
@@ -151,25 +110,6 @@ jobs:
151110 done
152111 done
153112
154- for pattern in \
155- 'libsycl.so*' \
156- 'libur_loader.so*' \
157- 'libur_adapter_level_zero.so*' \
158- 'libur_adapter_level_zero_v2.so*' \
159- 'libur_adapter_opencl.so*' \
160- 'libmkl_sycl_blas.so*' \
161- 'libmkl_core.so*' \
162- 'libmkl_tbb_thread.so*' \
163- 'libtbb.so*' \
164- 'libtbbmalloc.so*' \
165- 'libimf.so*' \
166- 'libintlc.so*' \
167- 'libirng.so*' \
168- 'libsvml.so*'; do
169- find "$ONEAPI_ROOT" -name "$pattern" -type f -exec cp -P {} build/bin/ \; 2>/dev/null || true
170- find "$ONEAPI_ROOT" -name "$pattern" -type l -exec cp -P {} build/bin/ \; 2>/dev/null || true
171- done
172-
173113 - name : Smoke test Linux binaries
174114 run : |
175115 test -x build/bin/llama-server
@@ -193,10 +133,6 @@ jobs:
193133 runs-on : windows-2022
194134 env :
195135 CUDA_ARCHITECTURES : ${{ github.event.inputs.cuda_architectures || '61;75;86' }}
196- 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
197- WINDOWS_DPCPP_MKL : intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
198- LEVEL_ZERO_SDK_URL : https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
199- ONEAPI_ROOT : C:/Program Files (x86)/Intel/oneAPI
200136
201137 steps :
202138 - name : Clone
@@ -222,17 +158,6 @@ jobs:
222158 Add-Content $env:GITHUB_ENV "VULKAN_SDK=C:\VulkanSDK\${env:VULKAN_VERSION}"
223159 Add-Content $env:GITHUB_PATH "C:\VulkanSDK\${env:VULKAN_VERSION}\bin"
224160
225- - name : Download and install oneAPI
226- shell : bash
227- run : scripts/install-oneapi.bat "$WINDOWS_BASEKIT_URL" "$WINDOWS_DPCPP_MKL"
228-
229- - name : Install Level Zero SDK
230- shell : pwsh
231- run : |
232- Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
233- Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
234- "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
235-
236161 - name : Install Ninja
237162 shell : pwsh
238163 run : choco install ninja -y
@@ -265,29 +190,6 @@ jobs:
265190 -DLLAMA_BUILD_TOOLS=ON
266191 cmake --build build --config Release -j %NUMBER_OF_PROCESSORS%
267192
268- - name : Build Windows SYCL backend
269- shell : cmd
270- run : |
271- call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
272- cmake -S . -B build-sycl -G "Ninja" ^
273- -DCMAKE_BUILD_TYPE=Release ^
274- -DCMAKE_C_COMPILER=cl ^
275- -DCMAKE_CXX_COMPILER=icx ^
276- -DBUILD_SHARED_LIBS=ON ^
277- -DGGML_BACKEND_DL=ON ^
278- -DGGML_CPU=OFF ^
279- -DGGML_CUDA=OFF ^
280- -DGGML_NATIVE=OFF ^
281- -DGGML_SYCL=ON ^
282- -DGGML_VULKAN=OFF ^
283- -DLLAMA_BUILD_COMMON=OFF ^
284- -DLLAMA_BUILD_EXAMPLES=OFF ^
285- -DLLAMA_BUILD_SERVER=OFF ^
286- -DLLAMA_BUILD_TESTS=OFF ^
287- -DLLAMA_BUILD_TOOLS=OFF
288- cmake --build build-sycl --config Release -j %NUMBER_OF_PROCESSORS% --target ggml-sycl
289- copy build-sycl\bin\ggml-sycl.dll build\bin\
290-
291193 - name : Copy runtime libraries
292194 shell : pwsh
293195 run : |
@@ -300,42 +202,6 @@ jobs:
300202
301203 Copy-Item "${env:VULKAN_SDK}\Bin\vulkan-1.dll" build\bin\ -ErrorAction SilentlyContinue
302204
303- $oneapiBins = @(
304- "${env:ONEAPI_ROOT}\mkl\latest\bin",
305- "${env:ONEAPI_ROOT}\compiler\latest\bin",
306- "${env:ONEAPI_ROOT}\dnnl\latest\bin",
307- "${env:ONEAPI_ROOT}\tbb\latest\bin",
308- "${env:ONEAPI_ROOT}\tcm\latest\bin",
309- "${env:ONEAPI_ROOT}\umf\latest\bin"
310- )
311- $oneapiDlls = @(
312- "mkl_sycl_blas*.dll",
313- "mkl_core*.dll",
314- "mkl_tbb_thread*.dll",
315- "ur_adapter_level_zero*.dll",
316- "ur_adapter_opencl*.dll",
317- "ur_loader*.dll",
318- "ur_win_proxy_loader*.dll",
319- "sycl*.dll",
320- "svml_dispmd.dll",
321- "libmmd.dll",
322- "libiomp5md.dll",
323- "libsycl-*.spv",
324- "dnnl.dll",
325- "tbb12.dll",
326- "tcm.dll",
327- "libhwloc-*.dll",
328- "umf.dll"
329- )
330- foreach ($dir in $oneapiBins) {
331- foreach ($pattern in $oneapiDlls) {
332- Copy-Item "$dir\$pattern" build\bin\ -ErrorAction SilentlyContinue
333- }
334- }
335- Get-ChildItem "${env:ONEAPI_ROOT}", "${env:LEVEL_ZERO_V1_SDK_PATH}" -Recurse -Filter ze_loader.dll -ErrorAction SilentlyContinue |
336- Select-Object -First 1 |
337- Copy-Item -Destination build\bin\ -ErrorAction SilentlyContinue
338-
339205 - name : Smoke test Windows binaries
340206 shell : pwsh
341207 run : |
@@ -391,5 +257,5 @@ jobs:
391257 llama-exp-linux-all-x64.tar.gz \
392258 llama-exp-win-all-x64.zip \
393259 --title "${GITHUB_REF_NAME}" \
394- --notes "Executable llama.exp builds for Linux and Windows with CUDA, Vulkan, and SYCL backends."
260+ --notes "Executable llama.exp builds for Linux and Windows with CUDA and Vulkan backends."
395261 fi
0 commit comments