echodict/llama.cpp
version https://git-lfs.github.com/spec/v1 oid sha256:cfc44b7ba25614df70e6b65e3341cae0310163bd32fd31a6b928a542df433faf size 30786
0773
1name: CI (self-hosted)2 3on:4 workflow_dispatch: # allows manual triggering5 push:6 branches:7 - master8 paths: [9 '.github/workflows/build.yml',10 '**/CMakeLists.txt',11 '**/.cmake',12 '**/*.h',13 '**/*.hpp',14 '**/*.c',15 '**/*.cpp',16 '**/*.cu',17 '**/*.cuh',18 '**/*.swift',19 '**/*.m',20 '**/*.metal',21 '**/*.comp',22 '**/*.glsl',23 '**/*.wgsl'24 ]25 26 pull_request:27 types: [opened, synchronize, reopened]28 paths: [29 '.github/workflows/build-self-hosted.yml',30 '**/CMakeLists.txt',31 '**/.cmake',32 '**/*.h',33 '**/*.hpp',34 '**/*.c',35 '**/*.cpp',36 '**/*.cu',37 '**/*.cuh',38 '**/*.swift',39 '**/*.m',40 '**/*.metal',41 '**/*.comp',42 '**/*.glsl',43 '**/*.wgsl'44 ]45 46concurrency:47 group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}48 cancel-in-progress: true49 50env:51 GGML_NLOOP: 352 GGML_N_THREADS: 153 LLAMA_LOG_COLORS: 154 LLAMA_LOG_PREFIX: 155 LLAMA_LOG_TIMESTAMPS: 156 57jobs:58 ggml-ci-nvidia-cuda:59 runs-on: [self-hosted, Linux, NVIDIA]60 61 steps:62 - name: Clone63 id: checkout64 uses: actions/checkout@v665 66 - name: Test67 id: ggml-ci68 run: |69 nvidia-smi70 GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp71 72 ggml-ci-nvidia-vulkan-cm:73 runs-on: [self-hosted, Linux, NVIDIA]74 75 steps:76 - name: Clone77 id: checkout78 uses: actions/checkout@v679 80 - name: Test81 id: ggml-ci82 run: |83 vulkaninfo --summary84 GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp85 86 ggml-ci-nvidia-vulkan-cm2:87 runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]88 89 steps:90 - name: Clone91 id: checkout92 uses: actions/checkout@v693 94 - name: Test95 id: ggml-ci96 run: |97 vulkaninfo --summary98 GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp99 100 # TODO: investigate slight precision issues in some operations for test-backend-ops on the WebGPU backend.101 #ggml-ci-nvidia-webgpu:102 # runs-on: [self-hosted, Linux, NVIDIA]103 104 # steps:105 # - name: Clone106 # id: checkout107 # uses: actions/checkout@v6108 109 # - name: Dawn Dependency110 # id: dawn-depends111 # run: |112 # DAWN_VERSION="v20260317.182325"113 # DAWN_OWNER="google"114 # DAWN_REPO="dawn"115 # DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-ubuntu-latest-Release"116 # echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"117 # curl -L -o artifact.tar.gz \118 # "https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"119 # mkdir dawn120 # tar -xvf artifact.tar.gz -C dawn --strip-components=1121 122 # - name: Test123 # id: ggml-ci124 # run: |125 # GG_BUILD_WEBGPU=1 \126 # GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \127 # GG_BUILD_WEBGPU_DAWN_DIR="$GITHUB_WORKSPACE/dawn/lib64/cmake/Dawn" \128 # bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp129 130 # TODO: provision AMX-compatible machine131 #ggml-ci-cpu-amx:132 # runs-on: [self-hosted, Linux, CPU, AMX]133 134 # steps:135 # - name: Clone136 # id: checkout137 # uses: actions/checkout@v6138 139 # - name: Test140 # id: ggml-ci141 # run: |142 # bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp143 144 # TODO: provision AMD GPU machine145 # ggml-ci-amd-vulkan:146 # runs-on: [self-hosted, Linux, AMD]147 148 # steps:149 # - name: Clone150 # id: checkout151 # uses: actions/checkout@v6152 153 # - name: Test154 # id: ggml-ci155 # run: |156 # vulkaninfo --summary157 # GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp158 159 # TODO: provision AMD GPU machine160 # ggml-ci-amd-rocm:161 # runs-on: [self-hosted, Linux, AMD]162 163 # steps:164 # - name: Clone165 # id: checkout166 # uses: actions/checkout@v6167 168 # - name: Test169 # id: ggml-ci170 # run: |171 # amd-smi static172 # GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp173 174 ggml-ci-mac-metal:175 runs-on: [self-hosted, macOS, ARM64]176 177 steps:178 - name: Clone179 id: checkout180 uses: actions/checkout@v6181 182 - name: Test183 id: ggml-ci184 run: |185 GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp186 187 ggml-ci-mac-webgpu:188 runs-on: [self-hosted, macOS, ARM64]189 190 steps:191 - name: Clone192 id: checkout193 uses: actions/checkout@v6194 195 - name: Dawn Dependency196 id: dawn-depends197 run: |198 DAWN_VERSION="v20260317.182325"199 DAWN_OWNER="google"200 DAWN_REPO="dawn"201 DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-macos-latest-Release"202 echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"203 curl -L -o artifact.tar.gz \204 "https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"205 mkdir dawn206 tar -xvf artifact.tar.gz -C dawn --strip-components=1207 208 - name: Test209 id: ggml-ci210 run: |211 GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \212 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp213 214 ggml-ci-mac-vulkan:215 runs-on: [self-hosted, macOS, ARM64]216 217 steps:218 - name: Clone219 id: checkout220 uses: actions/checkout@v6221 222 - name: Test223 id: ggml-ci224 run: |225 vulkaninfo --summary226 GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp227 228 ggml-ci-linux-intel-vulkan:229 runs-on: [self-hosted, Linux, Intel]230 231 steps:232 - name: Clone233 id: checkout234 uses: actions/checkout@v6235 with:236 persist-credentials: false237 238 - name: Test239 id: ggml-ci240 run: |241 vulkaninfo --summary242 GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp243 244 ggml-ci-win-intel-vulkan:245 runs-on: [self-hosted, Windows, X64, Intel]246 247 steps:248 - name: Clone249 id: checkout250 uses: actions/checkout@v6251 252 - name: Test253 id: ggml-ci254 shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -eo pipefail "{0}"255 env:256 MSYSTEM: UCRT64257 CHERE_INVOKING: 1258 PATH: C:\msys64\ucrt64\bin;C:\msys64\usr\bin;C:\Windows\System32;${{ env.PATH }}259 run: |260 vulkaninfo --summary261 # Skip python related tests with GG_BUILD_LOW_PERF=1 since Windows MSYS2 UCRT64 currently fails to create262 # a valid python environment for testing263 LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp264 265 ggml-ci-intel-openvino-gpu-low-perf:266 runs-on: [self-hosted, Linux, Intel, OpenVINO]267 268 env:269 # Sync versions in build.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile270 OPENVINO_VERSION_MAJOR: "2026.0"271 OPENVINO_VERSION_FULL: "2026.0.0.20965.c6d6a13a886"272 273 steps:274 - name: Clone275 id: checkout276 uses: actions/checkout@v6277 278 - name: Setup OpenVINO Toolkit279 uses: ./.github/actions/linux-setup-openvino280 with:281 path: ./openvino_toolkit282 version_major: ${{ env.OPENVINO_VERSION_MAJOR }}283 version_full: ${{ env.OPENVINO_VERSION_FULL }}284 285 - name: Install OpenVINO dependencies286 run: |287 cd ./openvino_toolkit288 chmod +x ./install_dependencies/install_openvino_dependencies.sh289 echo "Y" | sudo -E ./install_dependencies/install_openvino_dependencies.sh290 291 - name: Test292 id: ggml-ci293 run: |294 source ./openvino_toolkit/setupvars.sh295 GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt296 