Skip to content

Commit ba4dd0b

Browse files
authored
ci : move ARM jobs to self-hosted + disable kleidiai mac release (ggml-org#23780)
* ci : move ARM jobs to 3rd-party runners + disable kleidiai release * cont : fix deps + fix names * ocd : fix names * cont : fix PR links
1 parent 617255d commit ba4dd0b

3 files changed

Lines changed: 106 additions & 260 deletions

File tree

.github/workflows/build-self-hosted.yml

Lines changed: 99 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ env:
5555
LLAMA_ARG_LOG_TIMESTAMPS: 1
5656

5757
jobs:
58-
ggml-ci-nvidia-cuda:
58+
gpu-cuda:
5959
runs-on: [self-hosted, Linux, NVIDIA]
6060

6161
steps:
@@ -69,7 +69,7 @@ jobs:
6969
nvidia-smi
7070
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
7171
72-
ggml-ci-nvidia-vulkan-cm:
72+
gpu-vulkan-nvidia-cm:
7373
runs-on: [self-hosted, Linux, NVIDIA]
7474

7575
steps:
@@ -83,7 +83,7 @@ jobs:
8383
vulkaninfo --summary
8484
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
8585
86-
ggml-ci-nvidia-vulkan-cm2:
86+
gpu-vulkan-nvidia-cm2:
8787
runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]
8888

8989
steps:
@@ -97,7 +97,7 @@ jobs:
9797
vulkaninfo --summary
9898
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
9999
100-
ggml-ci-nvidia-webgpu:
100+
gpu-webgpu-nvidia:
101101
runs-on: [self-hosted, Linux, NVIDIA, X64]
102102

103103
steps:
@@ -127,7 +127,7 @@ jobs:
127127
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
128128
129129
# TODO: provision AMX-compatible machine
130-
#ggml-ci-cpu-amx:
130+
#cpu-amx:
131131
# runs-on: [self-hosted, Linux, CPU, AMX]
132132

133133
# steps:
@@ -141,7 +141,7 @@ jobs:
141141
# bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
142142

143143
# TODO: provision AMD GPU machine
144-
# ggml-ci-amd-vulkan:
144+
# amd-vulkan:
145145
# runs-on: [self-hosted, Linux, AMD]
146146

147147
# steps:
@@ -156,7 +156,7 @@ jobs:
156156
# GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
157157

158158
# TODO: provision AMD GPU machine
159-
# ggml-ci-amd-rocm:
159+
# amd-rocm:
160160
# runs-on: [self-hosted, Linux, AMD]
161161

162162
# steps:
@@ -170,7 +170,7 @@ jobs:
170170
# amd-smi static
171171
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
172172

173-
ggml-ci-mac-metal:
173+
gpu-metal:
174174
runs-on: [self-hosted, macOS, ARM64]
175175

176176
steps:
@@ -183,7 +183,7 @@ jobs:
183183
run: |
184184
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
185185
186-
ggml-ci-mac-webgpu:
186+
gpu-webgpu-apple:
187187
runs-on: [self-hosted, macOS, ARM64]
188188

189189
steps:
@@ -210,7 +210,7 @@ jobs:
210210
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
211211
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
212212
213-
ggml-ci-mac-vulkan:
213+
gpu-vulkan:
214214
runs-on: [self-hosted, macOS, ARM64]
215215

216216
steps:
@@ -224,7 +224,7 @@ jobs:
224224
vulkaninfo --summary
225225
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
226226
227-
ggml-ci-linux-intel-vulkan:
227+
gpu-vulkan-intel-linux:
228228
runs-on: [self-hosted, Linux, Intel]
229229

230230
steps:
@@ -240,7 +240,7 @@ jobs:
240240
vulkaninfo --summary
241241
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
242242
243-
ggml-ci-win-intel-vulkan:
243+
gpu-vulkan-intel-windows:
244244
runs-on: [self-hosted, Windows, X64, Intel]
245245

246246
steps:
@@ -261,7 +261,7 @@ jobs:
261261
# a valid python environment for testing
262262
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.cpp
263263
264-
ggml-ci-intel-openvino-gpu-low-perf:
264+
cpu-openvino-low-perf:
265265
runs-on: [self-hosted, Linux, Intel, OpenVINO]
266266

267267
concurrency:
@@ -297,7 +297,7 @@ jobs:
297297
source ./openvino_toolkit/setupvars.sh
298298
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
299299
300-
ggml-ci-cpu-low-perf:
300+
cpu-any-low-perf:
301301
runs-on: [self-hosted, CPU]
302302

303303
steps:
@@ -310,7 +310,7 @@ jobs:
310310
run: |
311311
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
312312
313-
ggml-ci-cpu-high-perf:
313+
cpu-any-high-perf:
314314
runs-on: [self-hosted, CPU]
315315

316316
steps:
@@ -323,83 +323,90 @@ jobs:
323323
run: |
324324
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
325325
326-
# TODO: not sure how to detect ARM flags on DGX Spark. currently get this error during cmake:
327-
# CMake Warning at ggml/src/ggml-cpu/CMakeLists.txt:147 (message):
328-
# ARM -march/-mcpu not found, -mcpu=native will be used
329-
#
330-
# if we resolve this, we should be able to offload these jobs to the self-hosted runners
331-
#
332-
# ggml-ci-arm64-cpu-high-perf-sve:
333-
# runs-on: [self-hosted, Linux, ARM64, CPU]
334-
#
335-
# steps:
336-
# - name: Clone
337-
# id: checkout
338-
# uses: actions/checkout@v6
339-
#
340-
# - name: Test
341-
# id: ggml-ci
342-
# run: |
343-
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
344-
#
345-
# ggml-ci-arm64-cpu-kleidiai:
346-
# runs-on: [self-hosted, Linux, ARM64, CPU]
347-
#
348-
# steps:
349-
# - name: Clone
350-
# id: checkout
351-
# uses: actions/checkout@v6
352-
#
353-
# - name: Test
354-
# id: ggml-ci
355-
# run: |
356-
# GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
357-
358-
ggml-ci-arm64-cpu-kleidiai-graviton4:
359-
runs-on: ah-ubuntu_22_04-c8g_8x
360-
361-
steps:
362-
- name: Clone
363-
id: checkout
364-
uses: actions/checkout@v6
365-
366-
- name: Dependencies
367-
id: depends
368-
run: |
369-
set -euxo pipefail
370-
sudo apt-get update
371-
sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
372-
apt-get install -y \
373-
build-essential \
374-
python3-venv \
375-
gpg \
376-
wget \
377-
time \
378-
git-lfs
379-
380-
git lfs install
381-
382-
# install the latest cmake
383-
sudo install -d /usr/share/keyrings
384-
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
326+
cpu-arm64-graviton4:
327+
runs-on: ah-ubuntu_22_04-c8g_8x
328+
329+
steps:
330+
- name: Clone
331+
id: checkout
332+
uses: actions/checkout@v6
333+
334+
- name: Dependencies
335+
id: depends
336+
run: |
337+
set -euxo pipefail
338+
sudo apt-get update
339+
sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
340+
apt-get install -y \
341+
build-essential \
342+
python3-venv \
343+
gpg \
344+
wget \
345+
time \
346+
git-lfs
347+
348+
git lfs install
349+
350+
# install the latest cmake
351+
sudo install -d /usr/share/keyrings
352+
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
385353
| gpg --dearmor \
386354
| sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
387-
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
355+
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
388356
| sudo tee /etc/apt/sources.list.d/kitware.list
389-
sudo apt-get update
390-
sudo apt-get install -y cmake
391-
392-
# note: sparing some ccache since these jobs run on dedicated runners that are not part of the organitzation
393-
#- name: ccache
394-
# uses: ggml-org/ccache-action@v1.2.21
395-
# with:
396-
# key: ggml-ci-arm64-cpu-kleidiai-graviton4
397-
# evict-old-files: 1d
398-
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
399-
400-
- name: Test
401-
id: ggml-ci
402-
run: |
403-
GG_BUILD_KLEIDIAI=1 \
404-
GG_BUILD_EXTRA_TESTS_0=1 \
405-
bash ./ci/run.sh ./tmp/results ./tmp/mnt
357+
sudo apt-get update
358+
sudo apt-get install -y cmake
359+
360+
- name: Test
361+
id: ggml-ci
362+
run: |
363+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
364+
365+
cpu-arm64-graviton4-kleidiai:
366+
runs-on: ah-ubuntu_22_04-c8g_8x
367+
368+
steps:
369+
- name: Clone
370+
id: checkout
371+
uses: actions/checkout@v6
372+
373+
- name: Dependencies
374+
id: depends
375+
run: |
376+
set -euxo pipefail
377+
sudo apt-get update
378+
sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
379+
apt-get install -y \
380+
build-essential \
381+
python3-venv \
382+
gpg \
383+
wget \
384+
time \
385+
git-lfs
386+
387+
git lfs install
388+
389+
# install the latest cmake
390+
sudo install -d /usr/share/keyrings
391+
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
392+
| gpg --dearmor \
393+
| sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
394+
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
395+
| sudo tee /etc/apt/sources.list.d/kitware.list
396+
sudo apt-get update
397+
sudo apt-get install -y cmake
398+
399+
# note: sparing some ccache since these jobs run on dedicated runners that are not part of the organitzation
400+
#- name: ccache
401+
# uses: ggml-org/ccache-action@v1.2.21
402+
# with:
403+
# key: arm64-cpu-kleidiai-graviton4
404+
# evict-old-files: 1d
405+
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
406+
407+
- name: Test
408+
id: ggml-ci
409+
run: |
410+
GG_BUILD_KLEIDIAI=1 \
411+
GG_BUILD_EXTRA_TESTS_0=1 \
412+
bash ./ci/run.sh ./tmp/results ./tmp/mnt

0 commit comments

Comments
 (0)