LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs:
- ggml-ci-nvidia-cuda:
+ gpu-cuda:
runs-on: [self-hosted, Linux, NVIDIA]
steps:
nvidia-smi
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-nvidia-vulkan-cm:
+ gpu-vulkan-nvidia-cm:
runs-on: [self-hosted, Linux, NVIDIA]
steps:
vulkaninfo --summary
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-nvidia-vulkan-cm2:
+ gpu-vulkan-nvidia-cm2:
runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]
steps:
vulkaninfo --summary
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-nvidia-webgpu:
+ gpu-webgpu-nvidia:
runs-on: [self-hosted, Linux, NVIDIA, X64]
steps:
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
# TODO: provision AMX-compatible machine
- #ggml-ci-cpu-amx:
+ #cpu-amx:
# runs-on: [self-hosted, Linux, CPU, AMX]
# steps:
# bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
# TODO: provision AMD GPU machine
- # ggml-ci-amd-vulkan:
+ # amd-vulkan:
# runs-on: [self-hosted, Linux, AMD]
# steps:
# GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
# TODO: provision AMD GPU machine
- # ggml-ci-amd-rocm:
+ # amd-rocm:
# runs-on: [self-hosted, Linux, AMD]
# steps:
# amd-smi static
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-mac-metal:
+ gpu-metal:
runs-on: [self-hosted, macOS, ARM64]
steps:
run: |
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-mac-webgpu:
+ gpu-webgpu-apple:
runs-on: [self-hosted, macOS, ARM64]
steps:
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-mac-vulkan:
+ gpu-vulkan:
runs-on: [self-hosted, macOS, ARM64]
steps:
vulkaninfo --summary
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-linux-intel-vulkan:
+ gpu-vulkan-intel-linux:
runs-on: [self-hosted, Linux, Intel]
steps:
vulkaninfo --summary
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-win-intel-vulkan:
+ gpu-vulkan-intel-windows:
runs-on: [self-hosted, Windows, X64, Intel]
steps:
# a valid python environment for testing
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
- ggml-ci-intel-openvino-gpu-low-perf:
+ cpu-openvino-low-perf:
runs-on: [self-hosted, Linux, Intel, OpenVINO]
concurrency:
source ./openvino_toolkit/setupvars.sh
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-cpu-low-perf:
+ cpu-any-low-perf:
runs-on: [self-hosted, CPU]
steps:
run: |
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
- ggml-ci-cpu-high-perf:
+ cpu-any-high-perf:
runs-on: [self-hosted, CPU]
steps:
run: |
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
-# TODO: not sure how to detect ARM flags on DGX Spark. currently get this error during cmake:
-# CMake Warning at ggml/src/ggml-cpu/CMakeLists.txt:147 (message):
-# ARM -march/-mcpu not found, -mcpu=native will be used
-#
-# if we resolve this, we should be able to offload these jobs to the self-hosted runners
-#
-# ggml-ci-arm64-cpu-high-perf-sve:
-# runs-on: [self-hosted, Linux, ARM64, CPU]
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# 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
-#
-# ggml-ci-arm64-cpu-kleidiai:
-# runs-on: [self-hosted, Linux, ARM64, CPU]
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
-
- ggml-ci-arm64-cpu-kleidiai-graviton4:
- runs-on: ah-ubuntu_22_04-c8g_8x
-
- steps:
- - name: Clone
- id: checkout
- uses: actions/checkout@v6
-
- - name: Dependencies
- id: depends
- run: |
- set -euxo pipefail
- sudo apt-get update
- sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
- apt-get install -y \
- build-essential \
- python3-venv \
- gpg \
- wget \
- time \
- git-lfs
-
- git lfs install
-
- # install the latest cmake
- sudo install -d /usr/share/keyrings
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
+ cpu-arm64-graviton4:
+ runs-on: ah-ubuntu_22_04-c8g_8x
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+
+ - name: Dependencies
+ id: depends
+ run: |
+ set -euxo pipefail
+ sudo apt-get update
+ sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
+ apt-get install -y \
+ build-essential \
+ python3-venv \
+ gpg \
+ wget \
+ time \
+ git-lfs
+
+ git lfs install
+
+ # install the latest cmake
+ sudo install -d /usr/share/keyrings
+ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor \
| sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
+ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
| sudo tee /etc/apt/sources.list.d/kitware.list
- sudo apt-get update
- sudo apt-get install -y cmake
-
- # note: sparing some ccache since these jobs run on dedicated runners that are not part of the organitzation
- #- name: ccache
- # uses: ggml-org/ccache-action@v1.2.21
- # with:
- # key: ggml-ci-arm64-cpu-kleidiai-graviton4
- # evict-old-files: 1d
- # save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-
- - name: Test
- id: ggml-ci
- run: |
- GG_BUILD_KLEIDIAI=1 \
- GG_BUILD_EXTRA_TESTS_0=1 \
- bash ./ci/run.sh ./tmp/results ./tmp/mnt
+ sudo apt-get update
+ sudo apt-get install -y cmake
+
+ - name: Test
+ id: ggml-ci
+ run: |
+ 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
+
+ cpu-arm64-graviton4-kleidiai:
+ runs-on: ah-ubuntu_22_04-c8g_8x
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v6
+
+ - name: Dependencies
+ id: depends
+ run: |
+ set -euxo pipefail
+ sudo apt-get update
+ sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
+ apt-get install -y \
+ build-essential \
+ python3-venv \
+ gpg \
+ wget \
+ time \
+ git-lfs
+
+ git lfs install
+
+ # install the latest cmake
+ sudo install -d /usr/share/keyrings
+ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
+ | gpg --dearmor \
+ | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
+ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
+ | sudo tee /etc/apt/sources.list.d/kitware.list
+ sudo apt-get update
+ sudo apt-get install -y cmake
+
+ # note: sparing some ccache since these jobs run on dedicated runners that are not part of the organitzation
+ #- name: ccache
+ # uses: ggml-org/ccache-action@v1.2.21
+ # with:
+ # key: arm64-cpu-kleidiai-graviton4
+ # evict-old-files: 1d
+ # save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+
+ - name: Test
+ id: ggml-ci
+ run: |
+ GG_BUILD_KLEIDIAI=1 \
+ GG_BUILD_EXTRA_TESTS_0=1 \
+ bash ./ci/run.sh ./tmp/results ./tmp/mnt
set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
cmake --build build --config Release
-
-# TODO: simplify the following workflows using a matrix
-# TODO: run lighter CI on PRs and the full CI only on master (if needed)
-
-# note: moved to build-self-hosted.yml - can remove from here when everything is stable
-# ggml-ci-x64-cpu-low-perf:
-# runs-on: ubuntu-22.04
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: ggml-ci-x64-cpu-low-perf
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# - name: Dependencies
-# id: depends
-# run: |
-# sudo apt-get update
-# sudo apt-get install build-essential
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
-
-# note: moved to build-self-hosted.yml - can remove from here when everything is stable
-# ggml-ci-arm64-cpu-low-perf:
-# runs-on: ubuntu-22.04-arm
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: ggml-ci-arm64-cpu-low-perf
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# - name: Dependencies
-# id: depends
-# run: |
-# sudo apt-get update
-# sudo apt-get install build-essential
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
-
-# note: moved to build-self-hosted.yml - can remove from here when everything is stable
-# ggml-ci-x64-cpu-high-perf:
-# runs-on: ubuntu-22.04
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: ggml-ci-x64-cpu-high-perf
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# - name: Dependencies
-# id: depends
-# run: |
-# sudo apt-get update
-# sudo apt-get install build-essential
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
-
-# note: moved to build-self-hosted.yml - can remove from here when everything is stable
-# ggml-ci-arm64-cpu-high-perf:
-# runs-on: ubuntu-22.04-arm
-#
-# steps:
-# - name: Clone
-# id: checkout
-# uses: actions/checkout@v6
-#
-# - name: ccache
-# uses: ggml-org/ccache-action@v1.2.21
-# with:
-# key: ggml-ci-arm64-cpu-high-perf
-# evict-old-files: 1d
-# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-#
-# - name: Dependencies
-# id: depends
-# run: |
-# sudo apt-get update
-# sudo apt-get install build-essential
-#
-# - name: Test
-# id: ggml-ci
-# run: |
-# 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 ./tmp/results ./tmp/mnt
-
- ggml-ci-arm64-cpu-high-perf-sve:
- runs-on: ubuntu-22.04-arm
-
- steps:
- - name: Clone
- id: checkout
- uses: actions/checkout@v6
-
- - name: ccache
- uses: ggml-org/ccache-action@v1.2.21
- with:
- key: ggml-ci-arm64-cpu-high-perf-sve
- evict-old-files: 1d
- save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-
- - name: Dependencies
- id: depends
- run: |
- sudo apt-get update
- sudo apt-get install build-essential
-
- - name: Test
- id: ggml-ci
- run: |
- LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
-
- ggml-ci-arm64-cpu-kleidiai:
- runs-on: ubuntu-22.04-arm
-
- steps:
- - name: Clone
- id: checkout
- uses: actions/checkout@v6
-
- - name: ccache
- uses: ggml-org/ccache-action@v1.2.21
- with:
- key: ggml-ci-arm64-cpu-kleidiai
- evict-old-files: 1d
- save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-
- - name: Dependencies
- id: depends
- run: |
- sudo apt-get update
- sudo apt-get install -y build-essential
-
- - name: Test
- id: ggml-ci
- run: |
- GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt