From 3fe36c32389ade876ec505f32df08f5121cf597f Mon Sep 17 00:00:00 2001 From: sudhiarm Date: Tue, 11 Nov 2025 15:58:05 +0000 Subject: [PATCH] ci: add Arm-hosted Graviton4 runner (#17021) * ci: add Arm-hosted Graviton4 runner * ci: add missing dependencies for graviton4 build * ci: enable LFS checkout on graviton4 * ci: move git-lfs install to dependencies in Graviton4 workflow --- .github/workflows/build.yml | 47 +++++++++++++++++++++++++++++++++++++ ci/run.sh | 7 +++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36084c5507..0112fc323f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1651,3 +1651,50 @@ jobs: run: | GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt + ggml-ci-arm64-graviton4-kleidiai: + runs-on: ah-ubuntu_22_04-c8g_8x + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - 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 \ + libcurl4-openssl-dev \ + 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 + + - name: ccache + uses: ggml-org/ccache-action@v1.2.16 + with: + key: ggml-ci-arm64-graviton4-kleidiai + evict-old-files: 1d + + - name: Test + id: ggml-ci + run: | + GG_BUILD_KLEIDIAI=1 \ + GG_BUILD_EXTRA_TESTS_0=1 \ + bash ./ci/run.sh ./tmp/results ./tmp/mnt diff --git a/ci/run.sh b/ci/run.sh index 1a4806976a..3fec8e9110 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -121,7 +121,12 @@ fi if [ -n "${GG_BUILD_KLEIDIAI}" ]; then echo ">>===== Enabling KleidiAI support" - CANDIDATES=("armv9-a+dotprod+i8mm" "armv8.6-a+dotprod+i8mm" "armv8.2-a+dotprod") + CANDIDATES=( + "armv9-a+dotprod+i8mm+sve2" + "armv9-a+dotprod+i8mm" + "armv8.6-a+dotprod+i8mm" + "armv8.2-a+dotprod" + ) CPU="" for cpu in "${CANDIDATES[@]}"; do