Skip to content

Commit 44f72cc

Browse files
authored
Merge branch 'master' into mellum2
2 parents 8f46149 + 5aba536 commit 44f72cc

107 files changed

Lines changed: 5813 additions & 2373 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: "ccache-clear"
2+
description: "Delete all GitHub Actions caches matching a key prefix"
3+
inputs:
4+
key:
5+
description: "Cache key prefix to match and delete"
6+
required: true
7+
8+
runs:
9+
using: "composite"
10+
steps:
11+
- name: Clear caches
12+
shell: bash
13+
run: |
14+
CACHES=$(gh cache list --key "ccache-${{ inputs.key }}" --json id,key --jq '.[] | "\(.id) \(.key)"' 2>/dev/null)
15+
if [ -z "$CACHES" ]; then
16+
echo "No caches found with key prefix: ${{ inputs.key }}"
17+
exit 0
18+
fi
19+
while read -r id key; do
20+
echo "Deleting cache: $id ($key)"
21+
gh cache delete "$id"
22+
done <<< "$CACHES"

.github/workflows/build-apple.yml

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -109,40 +109,6 @@ jobs:
109109
cd build
110110
ctest -L main --verbose --timeout 900
111111
112-
macos-latest-ios:
113-
runs-on: macos-latest
114-
115-
steps:
116-
- name: Clone
117-
id: checkout
118-
uses: actions/checkout@v6
119-
120-
# TODO: this likely does not do anything - if yes, remove it
121-
- name: ccache
122-
uses: ggml-org/ccache-action@v1.2.21
123-
with:
124-
key: apple-ios
125-
evict-old-files: 1d
126-
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
127-
128-
- name: Build
129-
id: cmake_build
130-
run: |
131-
sysctl -a
132-
cmake -B build -G Xcode \
133-
-DGGML_METAL_USE_BF16=ON \
134-
-DGGML_METAL_EMBED_LIBRARY=ON \
135-
-DLLAMA_BUILD_APP=OFF \
136-
-DLLAMA_BUILD_COMMON=OFF \
137-
-DLLAMA_BUILD_EXAMPLES=OFF \
138-
-DLLAMA_BUILD_TOOLS=OFF \
139-
-DLLAMA_BUILD_TESTS=OFF \
140-
-DLLAMA_BUILD_SERVER=OFF \
141-
-DCMAKE_SYSTEM_NAME=iOS \
142-
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
143-
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
144-
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
145-
146112
macos-latest-ios-xcode:
147113
runs-on: macos-latest
148114

.github/workflows/build-cpu.yml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,6 @@ on:
1414
'**/*.hpp',
1515
'**/*.c',
1616
'**/*.cpp',
17-
'**/*.cu',
18-
'**/*.cuh',
19-
'**/*.swift',
20-
'**/*.m',
21-
'**/*.metal',
22-
'**/*.comp',
23-
'**/*.glsl',
24-
'**/*.wgsl'
2517
]
2618

2719
pull_request:
@@ -34,15 +26,7 @@ on:
3426
'**/*.h',
3527
'**/*.hpp',
3628
'**/*.c',
37-
'**/*.cpp',
38-
'**/*.cu',
39-
'**/*.cuh',
40-
'**/*.swift',
41-
'**/*.m',
42-
'**/*.metal',
43-
'**/*.comp',
44-
'**/*.glsl',
45-
'**/*.wgsl'
29+
'**/*.cpp'
4630
]
4731

4832
concurrency:

.github/workflows/build-cuda-windows.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ concurrency:
1313
queue: max
1414

1515
env:
16+
GH_TOKEN: ${{ github.token }}
1617
GGML_NLOOP: 3
1718
GGML_N_THREADS: 1
1819
LLAMA_ARG_LOG_COLORS: 1
@@ -23,6 +24,9 @@ jobs:
2324
cuda:
2425
runs-on: windows-2022
2526

27+
permissions:
28+
actions: write
29+
2630
strategy:
2731
matrix:
2832
cuda: ['12.4', '13.3']
@@ -36,7 +40,6 @@ jobs:
3640
uses: ggml-org/ccache-action@v1.2.21
3741
with:
3842
key: release-windows-2022-x64-cuda-${{ matrix.cuda }}
39-
append-timestamp: false # note: use this only with non-concurrent jobs!
4043

4144
- name: Install Cuda Toolkit
4245
uses: ./.github/actions/windows-setup-cuda
@@ -67,9 +70,17 @@ jobs:
6770
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
6871
cmake --build build --config Release
6972
73+
- name: ccache-clear
74+
uses: ./.github/actions/ccache-clear
75+
with:
76+
key: release-windows-2022-x64-cuda-${{ matrix.cuda }}
77+
7078
hip:
7179
runs-on: windows-2022
7280

81+
permissions:
82+
actions: write
83+
7384
env:
7485
# Make sure this is in sync with build-cache.yml
7586
HIPSDK_INSTALLER_VERSION: "26.Q1"
@@ -125,7 +136,6 @@ jobs:
125136
# to populate the ccache for the release with manual runs of this workflow
126137
#key: release-windows-2022-x64-hip-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ matrix.name }}
127138
key: cuda-windows-2022-x64-hip-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ matrix.name }}
128-
append-timestamp: false # note: use this only with non-concurrent jobs!
129139

130140
- name: Build
131141
id: cmake_build
@@ -144,3 +154,9 @@ jobs:
144154
-DGPU_TARGETS="gfx1100" `
145155
-DGGML_RPC=ON
146156
cmake --build build -j ${env:NUMBER_OF_PROCESSORS}
157+
158+
- name: ccache-clear
159+
uses: ./.github/actions/ccache-clear
160+
with:
161+
#key: release-windows-2022-x64-hip-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ matrix.name }}
162+
key: cuda-windows-2022-x64-hip-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ matrix.name }}

.github/workflows/build-openvino.yml

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,12 @@ env:
3535

3636
jobs:
3737
ubuntu-24-openvino:
38-
name: ubuntu-24-openvino-${{ matrix.openvino_device }}
38+
runs-on: [self-hosted, Linux, Intel, OpenVINO]
3939

4040
concurrency:
41-
group: openvino-${{ matrix.variant }}-${{ github.head_ref || github.ref }}
41+
group: openvino-gpu-${{ github.head_ref || github.ref }}
4242
cancel-in-progress: false
4343

44-
strategy:
45-
matrix:
46-
include:
47-
- variant: cpu
48-
runner: '"ubuntu-24.04"'
49-
openvino_device: "CPU"
50-
- variant: gpu
51-
runner: '["self-hosted","Linux","Intel","OpenVINO"]'
52-
openvino_device: "GPU"
53-
54-
runs-on: ${{ fromJSON(matrix.runner) }}
55-
5644
env:
5745
# Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile
5846
OPENVINO_VERSION_MAJOR: "2026.0"
@@ -63,31 +51,14 @@ jobs:
6351
id: checkout
6452
uses: actions/checkout@v6
6553

66-
- name: ccache
67-
if: runner.environment == 'github-hosted'
68-
uses: ggml-org/ccache-action@v1.2.21
69-
with:
70-
key: openvino-ubuntu-24.04-${{ matrix.variant }}-no-preset-v1
71-
evict-old-files: 1d
72-
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
73-
7454
- name: Dependencies
7555
id: depends
7656
run: |
7757
sudo apt-get update
7858
sudo apt-get install -y build-essential libssl-dev libtbb12 cmake ninja-build python3-pip
7959
sudo apt-get install -y ocl-icd-opencl-dev opencl-headers opencl-clhpp-headers intel-opencl-icd
8060
81-
- name: Use OpenVINO Toolkit Cache
82-
if: runner.environment == 'github-hosted'
83-
uses: actions/cache@v5
84-
id: cache-openvino
85-
with:
86-
path: ./openvino_toolkit
87-
key: cache-gha-openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }}
88-
8961
- name: Setup OpenVINO Toolkit
90-
if: steps.cache-openvino.outputs.cache-hit != 'true'
9162
uses: ./.github/actions/linux-setup-openvino
9263
with:
9364
path: ./openvino_toolkit
@@ -109,12 +80,17 @@ jobs:
10980
-DGGML_OPENVINO=ON
11081
time cmake --build build/ReleaseOV --config Release -j $(nproc)
11182
112-
- name: Test
113-
id: cmake_test
83+
- name: Test (CPU)
84+
id: cmake_test_cpu
85+
# TODO: fix and re-enable the `test-llama-archs` test below
86+
run: |
87+
cd ${{ github.workspace }}
88+
ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000
89+
90+
- name: Test (GPU)
91+
id: cmake_test_gpu
11492
# TODO: fix and re-enable the `test-llama-archs` test below
11593
run: |
11694
cd ${{ github.workspace }}
117-
if [ "${{ matrix.openvino_device }}" = "GPU" ]; then
118-
export GGML_OPENVINO_DEVICE=GPU
119-
fi
95+
export GGML_OPENVINO_DEVICE=GPU
12096
ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000

.github/workflows/build-rpc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ env:
3434
LLAMA_ARG_LOG_TIMESTAMPS: 1
3535

3636
jobs:
37-
ubuntu-latest-rpc:
38-
runs-on: ubuntu-latest
37+
ubuntu-24-rpc:
38+
runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
3939

4040
continue-on-error: true
4141

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

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
gpu-vulkan:
213+
gpu-vulkan-apple:
214214
runs-on: [self-hosted, macOS, ARM64]
215215

216216
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-
cpu-openvino-low-perf:
264+
gpu-openvino-low-perf:
265265
runs-on: [self-hosted, Linux, Intel, OpenVINO]
266266

267267
concurrency:
@@ -297,8 +297,8 @@ 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-
cpu-any-low-perf:
301-
runs-on: [self-hosted, CPU]
300+
cpu-x64-high-perf:
301+
runs-on: [self-hosted, Linux, X64]
302302

303303
steps:
304304
- name: Clone
@@ -308,22 +308,9 @@ jobs:
308308
- name: Test
309309
id: ggml-ci
310310
run: |
311-
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
311+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
312312
313-
cpu-any-high-perf:
314-
runs-on: [self-hosted, CPU]
315-
316-
steps:
317-
- name: Clone
318-
id: checkout
319-
uses: actions/checkout@v6
320-
321-
- name: Test
322-
id: ggml-ci
323-
run: |
324-
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
325-
326-
cpu-arm64-graviton4:
313+
cpu-arm64-high-perf-graviton4:
327314
runs-on: ah-ubuntu_22_04-c8g_8x
328315

329316
steps:
@@ -360,7 +347,7 @@ jobs:
360347
- name: Test
361348
id: ggml-ci
362349
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
350+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
364351
365352
cpu-arm64-graviton4-kleidiai:
366353
runs-on: ah-ubuntu_22_04-c8g_8x

.github/workflows/build-vulkan.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,8 @@ env:
3636
LLAMA_ARG_LOG_TIMESTAMPS: 1
3737

3838
jobs:
39-
ubuntu:
40-
strategy:
41-
matrix:
42-
include:
43-
- build: 'x64'
44-
os: ubuntu-24.04
45-
- build: 'arm64'
46-
os: ubuntu-24.04-arm
47-
48-
runs-on: ${{ matrix.os }}
39+
ubuntu-arm64:
40+
runs-on: ubuntu-24.04-arm
4941

5042
steps:
5143
- name: Clone
@@ -63,7 +55,7 @@ jobs:
6355
- name: ccache
6456
uses: ggml-org/ccache-action@v1.2.21
6557
with:
66-
key: vulkan-${{ matrix.os }}-new
58+
key: vulkan-ubuntu-24.04-arm-new
6759
variant: ccache
6860
evict-old-files: 1d
6961
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}

.github/workflows/build-webgpu.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,7 @@ jobs:
130130
ctest -L main -E test-backend-ops --verbose --timeout 900
131131
132132
ubuntu-wasm:
133-
strategy:
134-
matrix:
135-
include:
136-
- build: 'x64'
137-
os: ubuntu-24.04
138-
- build: 'arm64'
139-
os: ubuntu-24.04-arm
140-
141-
runs-on: ${{ matrix.os }}
133+
runs-on: ubuntu-24.04-arm
142134

143135
steps:
144136
- name: Clone
@@ -148,7 +140,7 @@ jobs:
148140
- name: ccache
149141
uses: ggml-org/ccache-action@v1.2.21
150142
with:
151-
key: webgpu-${{ matrix.os }}-wasm
143+
key: webgpu-ubuntu-24.04-arm-wasm
152144
evict-old-files: 1d
153145
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
154146

0 commit comments

Comments
 (0)