1010 build :
1111 runs-on : ${{ matrix.os }}
1212 name : ${{ matrix.name }}${{ matrix.arch && format('-{0}', matrix.arch) || '' }} build${{ matrix.arch != 'arm64-v8a' && matrix.name != 'isim' && matrix.name != 'ios' && ' + test' || ''}}
13- timeout-minutes : 60
13+ timeout-minutes : 120
1414 strategy :
1515 fail-fast : false
1616 matrix :
9393 arch : x86_64
9494 name : windows-llamafile
9595 make : LLAMA="-DGGML_NATIVE=ON -DGGML_LLAMAFILE=ON"
96- - os : windows-latest
97- arch : x86_64
98- name : windows-cuda
99- make : LLAMA="-G \"Ninja Multi-Config\" -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_CUDA=ON"
10096 - os : windows-latest
10197 arch : x86_64
10298 name : windows-vulkan
@@ -107,12 +103,11 @@ jobs:
107103 make : LLAMA="-DGGML_NATIVE=ON -DGGML_OPENCL=ON"
108104 - os : windows-latest
109105 arch : x86_64
110- name : windows-hip
111- make : LLAMA="-G \"Ninja\" -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_HIP=ON -DGGML_HIP_ROCWMMA_FATTN=ON -DAMDGPU_TARGETS=\"gfx1100;gfx1101;gfx1102;gfx1030;gfx1031;gfx1032\" -DCMAKE_C_COMPILER=\"%HIP_PATH%/bin/clang.exe\" -DCMAKE_CXX_COMPILER=\"%HIP_PATH%/bin/clang++.exe\" -DCMAKE_CXX_FLAGS=\"-I../../rocwmma/library/include/ -Wno-ignored-attributes -Wno-nested-anon-types\""
112- - os : windows-latest
113- arch : x86_64
114- name : windows-sycl
115- make : LLAMA="-G \"Ninja\" -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_SYCL=ON"
106+ name : windows-gpu
107+ make : LLAMA="-DGGML_BACKEND_DL=ON -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_CUDA=ON"
108+ make-cuda : LLAMA="-G \"Ninja Multi-Config\" -DGGML_BACKEND_DL=ON -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_CUDA=ON -DGGML_HIP=ON -DGGML_SYCL=ON"
109+ make-hip : LLAMA="-G \"Ninja\" -DGGML_BACKEND_DL=ON -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_HIP=ON -DGGML_HIP_ROCWMMA_FATTN=ON -DAMDGPU_TARGETS=\"gfx1100;gfx1101;gfx1102;gfx1030;gfx1031;gfx1032\" -DCMAKE_C_COMPILER=\"%HIP_PATH%/bin/clang.exe\" -DCMAKE_CXX_COMPILER=\"%HIP_PATH%/bin/clang++.exe\" -DCMAKE_CXX_FLAGS=\"-I../../rocwmma/library/include/ -Wno-ignored-attributes -Wno-nested-anon-types\""
110+ make-sycl : LLAMA="-G \"Ninja\" -DGGML_BACKEND_DL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DGGML_NATIVE=OFF -DGGML_CPU=OFF -DGGML_SYCL=ON"
116111
117112 # Android builds
118113 - os : ubuntu-latest
@@ -142,6 +137,8 @@ jobs:
142137 WINDOWS_DPCPP_MKL : intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
143138 ONEAPI_ROOT : " C:/Program Files (x86)/Intel/oneAPI"
144139 CUDA_VERSION : ' 12.4'
140+ ROCWMMA_VERSION : ' 6.2.4'
141+ HIP_TOOLKIT_VERSION : ' 24.Q3'
145142
146143 steps :
147144
@@ -247,7 +244,7 @@ jobs:
247244 echo "VULKAN_SDK=C:/msys64/mingw64" >> $GITHUB_ENV
248245
249246 - name : cache cuda toolkit
250- if : matrix.name == 'windows-cuda '
247+ if : matrix.name == 'windows-gpu '
251248 id : cache-cuda
252249 uses : actions/cache@v4
253250 with :
@@ -256,35 +253,35 @@ jobs:
256253 key : cuda-${{ matrix.name }}-${{ matrix.os }}-${{ matrix.arch }}-${{ env.CUDA_VERSION }}
257254
258255 - name : windows install cuda
259- if : matrix.name == 'windows-cuda ' && steps.cache-cuda.outputs.cache-hit != 'true'
256+ if : matrix.name == 'windows-gpu ' && steps.cache-cuda.outputs.cache-hit != 'true'
260257 uses : ./modules/llama.cpp/.github/actions/windows-setup-cuda
261258 with :
262259 cuda_version : ${{ env.CUDA_VERSION }}
263260
264261 - name : cache hip toolkit
265- if : matrix.name == 'windows-hip '
262+ if : matrix.name == 'windows-gpu '
266263 id : cache-hip
267264 uses : actions/cache@v4
268265 with :
269266 path : |
270267 C:\Program Files\AMD\ROCm
271268 rocwmma
272- key : hip-toolkit-24.Q3 -rocwmma-6.2.4
269+ key : hip-toolkit-${{ env.HIP_TOOLKIT_VERSION }} -rocwmma-${{ env.ROCWMMA_VERSION }}
273270
274271 - name : windows install hip toolkit
275- if : matrix.name == 'windows-hip ' && steps.cache-hip.outputs.cache-hit != 'true'
272+ if : matrix.name == 'windows-gpu ' && steps.cache-hip.outputs.cache-hit != 'true'
276273 run : |
277- git clone https://github.com/rocm/rocwmma --branch rocm-6.2.4 --depth 1
274+ git clone https://github.com/rocm/rocwmma --branch rocm-${{ env.ROCWMMA_VERSION }} --depth 1
278275 $ErrorActionPreference = "Stop"
279276 write-host "Downloading AMD HIP SDK Installer"
280- Invoke-WebRequest -Uri "https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-24.Q3 -WinSvr2022-For-HIP.exe" -OutFile "${env:RUNNER_TEMP}\rocm-install.exe"
277+ Invoke-WebRequest -Uri "https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-${{ env.HIP_TOOLKIT_VERSION }} -WinSvr2022-For-HIP.exe" -OutFile "${env:RUNNER_TEMP}\rocm-install.exe"
281278 write-host "Installing AMD HIP SDK"
282279 Start-Process "${env:RUNNER_TEMP}\rocm-install.exe" -ArgumentList '-install' -NoNewWindow -Wait
283280 write-host "Completed AMD HIP SDK installation"
284281 shell : pwsh
285282
286283 - name : setup hip environment
287- if : matrix.name == 'windows-hip '
284+ if : matrix.name == 'windows-gpu '
288285 run : |
289286 & 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' --version
290287 $HIP_PWSH = "$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)"
@@ -296,12 +293,12 @@ jobs:
296293 shell : pwsh
297294
298295 - name : windows install ninja and sqlite for cuda, hip, and sycl
299- if : matrix.name == 'windows-cuda' || matrix.name == 'windows-hip' || matrix.name == 'windows-sycl '
296+ if : matrix.name == 'windows-gpu '
300297 run : choco install ninja sqlite -y
301298 shell : pwsh
302299
303300 - name : cache intel oneapi toolkit
304- if : matrix.name == 'windows-sycl '
301+ if : matrix.name == 'windows-gpu '
305302 id : cache-oneapi
306303 uses : actions/cache@v4
307304 with :
@@ -310,7 +307,7 @@ jobs:
310307 key : oneapi-${{ matrix.name }}-${{ matrix.os }}-${{ matrix.arch }}-${{ steps.submodule-hashes.outputs.dpcpp-mkl }}-${{ steps.submodule-hashes.outputs.basekit-url }}
311308
312309 - name : windows install intel oneapi toolkit for sycl
313- if : matrix.name == 'windows-sycl ' && steps.cache-oneapi.outputs.cache-hit != 'true'
310+ if : matrix.name == 'windows-gpu ' && steps.cache-oneapi.outputs.cache-hit != 'true'
314311 run : modules/llama.cpp/scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
315312
316313 - name : cache llama.cpp build
@@ -341,14 +338,14 @@ jobs:
341338 key : miniaudio-${{ matrix.name }}-${{ matrix.os }}-${{ matrix.arch }}-${{ steps.submodule-hashes.outputs.miniaudio }}-${{ hashFiles('modules/miniaudio/**') }}-${{ steps.submodule-hashes.outputs.make }}
342339
343340 - name : build llama.cpp (sycl/msvc)
344- if : matrix.name == 'windows-sycl' && steps.cache-llama.outputs.cache-hit != 'true'
341+ if : false # matrix.name == 'windows-sycl' && steps.cache-llama.outputs.cache-hit != 'true'
345342 shell : cmd
346343 run : |
347344 call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
348345 make build/llama.cpp.stamp ${{ matrix.make && matrix.make || ''}}
349346
350347 - name : build llama.cpp (cuda/hip/msvc)
351- if : (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-llama.outputs.cache-hit != 'true'
348+ if : false # (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-llama.outputs.cache-hit != 'true'
352349 shell : cmd
353350 run : |
354351 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
@@ -358,7 +355,7 @@ jobs:
358355 make build/llama.cpp.stamp ${{ matrix.make && matrix.make || ''}}
359356
360357 - name : build llama.cpp (mingw/windows)
361- if : contains(matrix.os, 'windows-') && matrix.name != 'windows-cuda' && matrix.name != 'windows-hip' && matrix.name != 'windows-sycl ' && steps.cache-llama.outputs.cache-hit != 'true'
358+ if : contains(matrix.os, 'windows-') && matrix.name != 'windows-gpu ' && steps.cache-llama.outputs.cache-hit != 'true'
362359 shell : msys2 {0}
363360 run : make build/llama.cpp.stamp ${{ matrix.make && matrix.make || ''}}
364361
@@ -367,14 +364,14 @@ jobs:
367364 run : make build/llama.cpp.stamp ${{ matrix.make && matrix.make || ''}}
368365
369366 - name : build whisper.cpp (sycl/msvc)
370- if : matrix.name == 'windows-sycl' && steps.cache-whisper.outputs.cache-hit != 'true'
367+ if : false # matrix.name == 'windows-sycl' && steps.cache-whisper.outputs.cache-hit != 'true'
371368 shell : cmd
372369 run : |
373370 call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
374371 make build/whisper.cpp.stamp ${{ matrix.make && matrix.make || ''}}
375372
376373 - name : build whisper.cpp (cuda/hip/msvc)
377- if : (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-whisper.outputs.cache-hit != 'true'
374+ if : false # (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-whisper.outputs.cache-hit != 'true'
378375 shell : cmd
379376 run : |
380377 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
@@ -384,7 +381,7 @@ jobs:
384381 make build/whisper.cpp.stamp ${{ matrix.make && matrix.make || ''}}
385382
386383 - name : build whisper.cpp (mingw/windows)
387- if : contains(matrix.os, 'windows-') && matrix.name != 'windows-cuda' && matrix.name != 'windows-hip' && matrix.name != 'windows-sycl ' && steps.cache-whisper.outputs.cache-hit != 'true'
384+ if : contains(matrix.os, 'windows-') && matrix.name != 'windows-gpu ' && steps.cache-whisper.outputs.cache-hit != 'true'
388385 shell : msys2 {0}
389386 run : make build/whisper.cpp.stamp ${{ matrix.make && matrix.make || ''}}
390387
@@ -393,14 +390,14 @@ jobs:
393390 run : make build/whisper.cpp.stamp ${{ matrix.make && matrix.make || ''}}
394391
395392 - name : build miniaudio (sycl/msvc)
396- if : matrix.name == 'windows-sycl' && steps.cache-miniaudio.outputs.cache-hit != 'true'
393+ if : false # matrix.name == 'windows-sycl' && steps.cache-miniaudio.outputs.cache-hit != 'true'
397394 shell : cmd
398395 run : |
399396 call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
400397 make build/miniaudio.stamp ${{ matrix.make && matrix.make || ''}}
401398
402399 - name : build miniaudio (cuda/hip/msvc)
403- if : (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-miniaudio.outputs.cache-hit != 'true'
400+ if : false # (matrix.name == 'windows-cuda' || matrix.name == 'windows-hip') && steps.cache-miniaudio.outputs.cache-hit != 'true'
404401 shell : cmd
405402 run : |
406403 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
@@ -410,7 +407,7 @@ jobs:
410407 make build/miniaudio.stamp ${{ matrix.make && matrix.make || ''}}
411408
412409 - name : build miniaudio (mingw/windows)
413- if : contains(matrix.os, 'windows-') && matrix.name != 'windows-cuda' && matrix.name != 'windows-hip' && matrix.name != 'windows-sycl ' && steps.cache-miniaudio.outputs.cache-hit != 'true'
410+ if : contains(matrix.os, 'windows-') && matrix.name != 'windows-gpu ' && steps.cache-miniaudio.outputs.cache-hit != 'true'
414411 shell : msys2 {0}
415412 run : make build/miniaudio.stamp ${{ matrix.make && matrix.make || ''}}
416413
@@ -419,7 +416,7 @@ jobs:
419416 run : make build/miniaudio.stamp ${{ matrix.make && matrix.make || ''}}
420417
421418 - name : windows build sqlite-ai with cuda (msvc)
422- if : matrix.name == 'windows-cuda'
419+ if : false # matrix.name == 'windows-cuda'
423420 shell : cmd
424421 run : |
425422 setlocal enabledelayedexpansion
@@ -436,7 +433,7 @@ jobs:
436433 make extension ${{ matrix.make && matrix.make || ''}}
437434
438435 - name : windows build sqlite-ai with hip (clang)
439- if : matrix.name == 'windows-hip'
436+ if : false # matrix.name == 'windows-hip'
440437 shell : cmd
441438 run : |
442439 set PATH=%HIP_PATH%\bin;%PATH%
@@ -447,14 +444,14 @@ jobs:
447444 HIP_PLATFORM : amd
448445
449446 - name : windows build sqlite-ai with sycl (msvc)
450- if : matrix.name == 'windows-sycl'
447+ if : false # matrix.name == 'windows-sycl'
451448 shell : cmd
452449 run : |
453450 call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
454451 make extension ${{ matrix.make && matrix.make || ''}}
455452
456453 - name : windows build sqlite-ai (mingw)
457- if : matrix.os == 'windows-latest' && matrix.name != 'windows-cuda' && matrix.name != 'windows-hip' && matrix.name != 'windows-sycl '
454+ if : matrix.os == 'windows-latest' && matrix.name != 'windows-gpu '
458455 run : make extension ${{ matrix.make && matrix.make || ''}}
459456 shell : msys2 {0}
460457
@@ -509,7 +506,7 @@ jobs:
509506 adb shell "sh /data/local/tmp/commands.sh"
510507
511508 - name : windows test sqlite-ai (msvc)
512- if : matrix.name == 'windows-cuda' || matrix.name == 'windows-hip' || matrix.name == 'windows-sycl'
509+ if : false # matrix.name == 'windows-cuda' || matrix.name == 'windows-hip' || matrix.name == 'windows-sycl'
513510 shell : cmd
514511 run : |
515512 setlocal enabledelayedexpansion
@@ -531,7 +528,7 @@ jobs:
531528 make test ${{ matrix.make && matrix.make || ''}}
532529
533530 - name : windows test sqlite-ai (mingw)
534- if : startsWith(matrix.name, 'windows-') && matrix.name != 'windows-cuda' && matrix.name != 'windows-hip' && matrix.name != 'windows-sycl '
531+ if : startsWith(matrix.name, 'windows-') && matrix.name != 'windows-gpu '
535532 run : make test ${{ matrix.make && matrix.make || ''}}
536533 shell : msys2 {0}
537534
0 commit comments