CI: Enable CPU and Vulkan ARM64 Release (#21207)
This commit is contained in:
parent
9281dd135d
commit
eec6f85d7b
|
|
@ -181,7 +181,7 @@ jobs:
|
||||||
- build: 'x64'
|
- build: 'x64'
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
- build: 'arm64'
|
- build: 'arm64'
|
||||||
os: ubuntu-22.04-arm
|
os: ubuntu-24.04-arm
|
||||||
- build: 's390x'
|
- build: 's390x'
|
||||||
os: ubuntu-24.04-s390x
|
os: ubuntu-24.04-s390x
|
||||||
- build: 'ppc64le'
|
- build: 'ppc64le'
|
||||||
|
|
@ -207,14 +207,22 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y --no-install-recommends \
|
sudo apt-get install -y --no-install-recommends \
|
||||||
python3 python3-pip python3-dev \
|
python3 python3-pip python3-dev python3-wheel \
|
||||||
libjpeg-dev build-essential libssl-dev \
|
libjpeg-dev build-essential libssl-dev \
|
||||||
git-lfs
|
git-lfs
|
||||||
|
|
||||||
|
- name: Toolchain workaround (GCC 14)
|
||||||
|
if: ${{ contains(matrix.os, 'ubuntu-24.04') }}
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y gcc-14 g++-14
|
||||||
|
echo "CC=gcc-14" >> "$GITHUB_ENV"
|
||||||
|
echo "CXX=g++-14" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Python Dependencies
|
- name: Python Dependencies
|
||||||
id: python_depends
|
id: python_depends
|
||||||
run: |
|
run: |
|
||||||
python3 -m pip install --upgrade pip
|
export PIP_BREAK_SYSTEM_PACKAGES="1"
|
||||||
|
python3 -m pip install --upgrade pip setuptools
|
||||||
pip3 install ./gguf-py
|
pip3 install ./gguf-py
|
||||||
|
|
||||||
- name: Swap Endianness
|
- name: Swap Endianness
|
||||||
|
|
@ -292,7 +300,15 @@ jobs:
|
||||||
ctest -L main --verbose
|
ctest -L main --verbose
|
||||||
|
|
||||||
ubuntu-24-vulkan:
|
ubuntu-24-vulkan:
|
||||||
runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- build: 'x64'
|
||||||
|
os: ubuntu-24.04
|
||||||
|
- build: 'arm64'
|
||||||
|
os: ubuntu-24.04-arm
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
|
|
@ -302,7 +318,10 @@ jobs:
|
||||||
- name: Dependencies
|
- name: Dependencies
|
||||||
id: depends
|
id: depends
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install -y glslc libvulkan-dev libssl-dev ninja-build
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev libssl-dev ninja-build
|
||||||
|
echo "CC=gcc-14" >> "$GITHUB_ENV"
|
||||||
|
echo "CXX=g++-14" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
id: cmake_configure
|
id: cmake_configure
|
||||||
|
|
|
||||||
|
|
@ -131,17 +131,16 @@ jobs:
|
||||||
path: llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz
|
path: llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz
|
||||||
name: llama-bin-macos-x64.tar.gz
|
name: llama-bin-macos-x64.tar.gz
|
||||||
|
|
||||||
ubuntu-22-cpu:
|
ubuntu-cpu:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- build: 'x64'
|
- build: 'x64'
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
|
- build: 'arm64'
|
||||||
|
os: ubuntu-24.04-arm
|
||||||
- build: 's390x'
|
- build: 's390x'
|
||||||
os: ubuntu-24.04-s390x
|
os: ubuntu-24.04-s390x
|
||||||
# GGML_BACKEND_DL and GGML_CPU_ALL_VARIANTS are not currently supported on arm
|
|
||||||
# - build: 'arm64'
|
|
||||||
# os: ubuntu-22.04-arm
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
|
@ -165,6 +164,13 @@ jobs:
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install build-essential libssl-dev
|
sudo apt-get install build-essential libssl-dev
|
||||||
|
|
||||||
|
- name: Toolchain workaround (GCC 14)
|
||||||
|
if: ${{ contains(matrix.os, 'ubuntu-24.04') }}
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y gcc-14 g++-14
|
||||||
|
echo "CC=gcc-14" >> "$GITHUB_ENV"
|
||||||
|
echo "CXX=g++-14" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
id: cmake_build
|
id: cmake_build
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -194,8 +200,16 @@ jobs:
|
||||||
path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.tar.gz
|
path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.tar.gz
|
||||||
name: llama-bin-ubuntu-${{ matrix.build }}.tar.gz
|
name: llama-bin-ubuntu-${{ matrix.build }}.tar.gz
|
||||||
|
|
||||||
ubuntu-22-vulkan:
|
ubuntu-vulkan:
|
||||||
runs-on: ubuntu-22.04
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- build: 'x64'
|
||||||
|
os: ubuntu-22.04
|
||||||
|
- build: 'arm64'
|
||||||
|
os: ubuntu-24.04-arm
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
|
|
@ -207,16 +221,23 @@ jobs:
|
||||||
- name: ccache
|
- name: ccache
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
with:
|
with:
|
||||||
key: ubuntu-22-vulkan
|
key: ubuntu-vulkan-${{ matrix.build }}
|
||||||
evict-old-files: 1d
|
evict-old-files: 1d
|
||||||
|
|
||||||
- name: Dependencies
|
- name: Dependencies
|
||||||
id: depends
|
id: depends
|
||||||
run: |
|
run: |
|
||||||
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
if [[ "${{ matrix.os }}" =~ "ubuntu-22.04" ]]; then
|
||||||
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
||||||
sudo apt-get update -y
|
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
||||||
sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libssl-dev
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libssl-dev
|
||||||
|
else
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev libssl-dev ninja-build
|
||||||
|
echo "CC=gcc-14" >> "$GITHUB_ENV"
|
||||||
|
echo "CXX=g++-14" >> "$GITHUB_ENV"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
id: cmake_build
|
id: cmake_build
|
||||||
|
|
@ -239,13 +260,13 @@ jobs:
|
||||||
id: pack_artifacts
|
id: pack_artifacts
|
||||||
run: |
|
run: |
|
||||||
cp LICENSE ./build/bin/
|
cp LICENSE ./build/bin/
|
||||||
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
|
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-${{ matrix.build }}.tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v6
|
||||||
with:
|
with:
|
||||||
path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz
|
path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-${{ matrix.build }}.tar.gz
|
||||||
name: llama-bin-ubuntu-vulkan-x64.tar.gz
|
name: llama-bin-ubuntu-vulkan-${{ matrix.build }}.tar.gz
|
||||||
|
|
||||||
ubuntu-24-openvino:
|
ubuntu-24-openvino:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
|
|
@ -977,8 +998,8 @@ jobs:
|
||||||
- windows-sycl
|
- windows-sycl
|
||||||
- windows-hip
|
- windows-hip
|
||||||
- ubuntu-22-rocm
|
- ubuntu-22-rocm
|
||||||
- ubuntu-22-cpu
|
- ubuntu-cpu
|
||||||
- ubuntu-22-vulkan
|
- ubuntu-vulkan
|
||||||
- ubuntu-24-openvino
|
- ubuntu-24-openvino
|
||||||
- macOS-arm64
|
- macOS-arm64
|
||||||
- macOS-x64
|
- macOS-x64
|
||||||
|
|
@ -1061,9 +1082,11 @@ jobs:
|
||||||
|
|
||||||
**Linux:**
|
**Linux:**
|
||||||
- [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)
|
- [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)
|
||||||
- [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)
|
- [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)
|
||||||
- [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)
|
|
||||||
- [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)
|
- [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)
|
||||||
|
- [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)
|
||||||
|
- [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)
|
||||||
|
- [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)
|
||||||
- [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)
|
- [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)
|
||||||
|
|
||||||
**Windows:**
|
**Windows:**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue