@@ -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
412431name : 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