@@ -131,17 +131,16 @@ jobs:
131131 path : llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz
132132 name : llama-bin-macos-x64.tar.gz
133133
134- ubuntu-22- cpu :
134+ ubuntu-cpu :
135135 strategy :
136136 matrix :
137137 include :
138138 - build : ' x64'
139139 os : ubuntu-22.04
140+ - build : ' arm64'
141+ os : ubuntu-24.04-arm
140142 - build : ' s390x'
141143 os : ubuntu-24.04-s390x
142- # GGML_BACKEND_DL and GGML_CPU_ALL_VARIANTS are not currently supported on arm
143- # - build: 'arm64'
144- # os: ubuntu-22.04-arm
145144
146145 runs-on : ${{ matrix.os }}
147146
@@ -165,6 +164,13 @@ jobs:
165164 sudo apt-get update
166165 sudo apt-get install build-essential libssl-dev
167166
167+ - name : Toolchain workaround (GCC 14)
168+ if : ${{ contains(matrix.os, 'ubuntu-24.04') }}
169+ run : |
170+ sudo apt-get install -y gcc-14 g++-14
171+ echo "CC=gcc-14" >> "$GITHUB_ENV"
172+ echo "CXX=g++-14" >> "$GITHUB_ENV"
173+
168174 - name : Build
169175 id : cmake_build
170176 run : |
@@ -194,8 +200,16 @@ jobs:
194200 path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.tar.gz
195201 name : llama-bin-ubuntu-${{ matrix.build }}.tar.gz
196202
197- ubuntu-22-vulkan :
198- runs-on : ubuntu-22.04
203+ ubuntu-vulkan :
204+ strategy :
205+ matrix :
206+ include :
207+ - build : ' x64'
208+ os : ubuntu-22.04
209+ - build : ' arm64'
210+ os : ubuntu-24.04-arm
211+
212+ runs-on : ${{ matrix.os }}
199213
200214 steps :
201215 - name : Clone
@@ -207,16 +221,23 @@ jobs:
207221 - name : ccache
208222 uses : ggml-org/ccache-action@v1.2.21
209223 with :
210- key : ubuntu-22- vulkan
224+ key : ubuntu-vulkan-${{ matrix.build }}
211225 evict-old-files : 1d
212226
213227 - name : Dependencies
214228 id : depends
215229 run : |
216- wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
217- sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
218- sudo apt-get update -y
219- sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libssl-dev
230+ if [[ "${{ matrix.os }}" =~ "ubuntu-22.04" ]]; then
231+ wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
232+ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
233+ sudo apt-get update -y
234+ sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libssl-dev
235+ else
236+ sudo apt-get update -y
237+ sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev libssl-dev ninja-build
238+ echo "CC=gcc-14" >> "$GITHUB_ENV"
239+ echo "CXX=g++-14" >> "$GITHUB_ENV"
240+ fi
220241
221242 - name : Build
222243 id : cmake_build
@@ -239,13 +260,13 @@ jobs:
239260 id : pack_artifacts
240261 run : |
241262 cp LICENSE ./build/bin/
242- tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64 .tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
263+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-${{ matrix.build }} .tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
243264
244265 - name : Upload artifacts
245266 uses : actions/upload-artifact@v6
246267 with :
247- path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64 .tar.gz
248- name : llama-bin-ubuntu-vulkan-x64 .tar.gz
268+ path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-${{ matrix.build }} .tar.gz
269+ name : llama-bin-ubuntu-vulkan-${{ matrix.build }} .tar.gz
249270
250271 ubuntu-24-openvino :
251272 runs-on : ubuntu-24.04
@@ -977,8 +998,8 @@ jobs:
977998 - windows-sycl
978999 - windows-hip
9791000 - ubuntu-22-rocm
980- - ubuntu-22- cpu
981- - ubuntu-22- vulkan
1001+ - ubuntu-cpu
1002+ - ubuntu-vulkan
9821003 - ubuntu-24-openvino
9831004 - macOS-arm64
9841005 - macOS-x64
@@ -1061,9 +1082,11 @@ jobs:
10611082
10621083 **Linux:**
10631084 - [Ubuntu x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.tar.gz)
1085+ - [Ubuntu arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-arm64.tar.gz)
1086+ - [Ubuntu s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz)
10641087 - [Ubuntu x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz)
1088+ - [Ubuntu arm64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-arm64.tar.gz)
10651089 - [Ubuntu x64 (ROCm 7.2)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-rocm-7.2-x64.tar.gz)
1066- - [Ubuntu s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz)
10671090 - [Ubuntu x64 (OpenVINO)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-openvino-${{ needs.ubuntu-24-openvino.outputs.openvino_version }}-x64.tar.gz)
10681091
10691092 **Windows:**
0 commit comments