@@ -387,8 +387,8 @@ jobs:
387387 cd build
388388 ctest -L main --verbose
389389
390- ubuntu-22 -cmake-vulkan :
391- runs-on : ubuntu-22 .04
390+ ubuntu-24 -cmake-vulkan :
391+ runs-on : ubuntu-24 .04
392392
393393 steps :
394394 - name : Clone
@@ -398,20 +398,40 @@ jobs:
398398 - name : ccache
399399 uses : ggml-org/ccache-action@v1.2.16
400400 with :
401- key : ubuntu-22 -cmake-vulkan
401+ key : ubuntu-24 -cmake-vulkan
402402 evict-old-files : 1d
403403
404404 - name : Dependencies
405405 id : depends
406406 run : |
407- wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
408- sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
407+ sudo add-apt-repository -y ppa:kisak/kisak-mesa
409408 sudo apt-get update -y
410- sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libcurl4-openssl-dev
409+ sudo apt-get install -y build-essential mesa-vulkan-drivers libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev libcurl4-openssl-dev
410+
411+ - name : Get latest Vulkan SDK version
412+ id : vulkan_sdk_version
413+ run : |
414+ echo "VULKAN_SDK_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.txt)" >> "$GITHUB_ENV"
415+
416+ - name : Cache Vulkan SDK
417+ id : cache_vulkan_sdk
418+ uses : actions/cache@v4
419+ with :
420+ path : ./vulkan_sdk
421+ key : vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
422+
423+ - name : Install Vulkan SDK
424+ if : steps.cache_vulkan_sdk.outputs.cache-hit != 'true'
425+ id : vulkan_sdk_install
426+ run : |
427+ mkdir -p vulkan_sdk
428+ cd vulkan_sdk
429+ curl --no-progress-meter https://sdk.lunarg.com/sdk/download/latest/linux/vulkan_sdk.tar.xz | tar -Jx --strip-components=1
411430
412431 - name : Build
413432 id : cmake_build
414433 run : |
434+ source ./vulkan_sdk/setup-env.sh
415435 cmake -B build \
416436 -DGGML_VULKAN=ON
417437 cmake --build build --config Release -j $(nproc)
@@ -421,6 +441,7 @@ jobs:
421441 run : |
422442 cd build
423443 export GGML_VK_VISIBLE_DEVICES=0
444+ export GGML_VK_DISABLE_F16=1
424445 # This is using llvmpipe and runs slower than other backends
425446 ctest -L main --verbose --timeout 4200
426447
0 commit comments