ci : reduce PR jobs by matching backend paths (#23675)
* ci : disable SYCL f16 builds * ci : extract android and hip into separate workflows * ci : move webgpu to separate workflow * ci : move the rpc to a separate workflow * ci : extract s309x and ppcl jobs * ci : extract opencl job into a separate workflow
This commit is contained in:
@@ -91,3 +91,53 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: llama-cpp-android-arm64-cpu
|
name: llama-cpp-android-arm64-cpu
|
||||||
path: pkg-adb/llama.cpp
|
path: pkg-adb/llama.cpp
|
||||||
|
|
||||||
|
android-arm64:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
NDK_VERSION: "29.0.14206865"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: android-arm64
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
java-version: 17
|
||||||
|
distribution: temurin
|
||||||
|
|
||||||
|
- name: Setup Android SDK
|
||||||
|
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
|
||||||
|
with:
|
||||||
|
log-accepted-android-sdk-licenses: false
|
||||||
|
|
||||||
|
- name: Install NDK
|
||||||
|
run: |
|
||||||
|
sdkmanager "ndk;${{ env.NDK_VERSION }}"
|
||||||
|
echo "ANDROID_NDK=${ANDROID_SDK_ROOT}/ndk/${{ env.NDK_VERSION }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
|
||||||
|
-DANDROID_ABI=arm64-v8a \
|
||||||
|
-DANDROID_PLATFORM=android-28 \
|
||||||
|
-DLLAMA_FATAL_WARNINGS=ON \
|
||||||
|
-DGGML_BACKEND_DL=ON \
|
||||||
|
-DGGML_NATIVE=OFF \
|
||||||
|
-DGGML_CPU_ALL_VARIANTS=ON \
|
||||||
|
-DGGML_OPENMP=OFF \
|
||||||
|
-DLLAMA_BUILD_BORINGSSL=ON \
|
||||||
|
-DGGML_RPC=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|||||||
@@ -0,0 +1,167 @@
|
|||||||
|
name: CI (hip)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-hip.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp',
|
||||||
|
'**/*.cu',
|
||||||
|
'**/*.cuh'
|
||||||
|
]
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-hip.yml',
|
||||||
|
'ggml/src/ggml-cuda/**'
|
||||||
|
]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GGML_NLOOP: 3
|
||||||
|
GGML_N_THREADS: 1
|
||||||
|
LLAMA_LOG_COLORS: 1
|
||||||
|
LLAMA_LOG_PREFIX: 1
|
||||||
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
ubuntu-22-hip:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
container: rocm/dev-ubuntu-22.04:6.1.2
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y build-essential git cmake rocblas-dev hipblas-dev libssl-dev rocwmma-dev
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: ubuntu-22-hip
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Build with native CMake HIP support
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build -S . \
|
||||||
|
-DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" \
|
||||||
|
-DGGML_HIP_ROCWMMA_FATTN=ON \
|
||||||
|
-DGPU_TARGETS="gfx1030" \
|
||||||
|
-DGGML_HIP=ON
|
||||||
|
cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
windows-latest-hip:
|
||||||
|
runs-on: windows-2022
|
||||||
|
|
||||||
|
env:
|
||||||
|
# Make sure this is in sync with build-cache.yml
|
||||||
|
HIPSDK_INSTALLER_VERSION: "26.Q1"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Grab rocWMMA package
|
||||||
|
id: grab_rocwmma
|
||||||
|
run: |
|
||||||
|
curl -o rocwmma.deb "https://repo.radeon.com/rocm/apt/7.2.1/pool/main/r/rocwmma-dev/rocwmma-dev_2.2.0.70201-81~24.04_amd64.deb"
|
||||||
|
7z x rocwmma.deb
|
||||||
|
7z x data.tar
|
||||||
|
|
||||||
|
- name: Use ROCm Installation Cache
|
||||||
|
uses: actions/cache@v5
|
||||||
|
id: cache-rocm
|
||||||
|
with:
|
||||||
|
path: C:\Program Files\AMD\ROCm
|
||||||
|
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
|
||||||
|
|
||||||
|
- name: Setup ROCm
|
||||||
|
if: steps.cache-rocm.outputs.cache-hit != 'true'
|
||||||
|
uses: ./.github/actions/windows-setup-rocm
|
||||||
|
with:
|
||||||
|
version: ${{ env.HIPSDK_INSTALLER_VERSION }}
|
||||||
|
|
||||||
|
- name: Verify ROCm
|
||||||
|
id: verify
|
||||||
|
run: |
|
||||||
|
# Find and test ROCm installation
|
||||||
|
$clangPath = Get-ChildItem 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | Select-Object -First 1
|
||||||
|
if (-not $clangPath) {
|
||||||
|
Write-Error "ROCm installation not found"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
& $clangPath.FullName --version
|
||||||
|
|
||||||
|
- name: Install ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
$env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)
|
||||||
|
$env:CMAKE_PREFIX_PATH="${env:HIP_PATH}"
|
||||||
|
cmake -G "Unix Makefiles" -B build -S . `
|
||||||
|
-DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" `
|
||||||
|
-DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" `
|
||||||
|
-DCMAKE_CXX_FLAGS="-I$($PWD.Path.Replace('\', '/'))/opt/rocm-7.2.1/include/" `
|
||||||
|
-DCMAKE_BUILD_TYPE=Release `
|
||||||
|
-DLLAMA_BUILD_BORINGSSL=ON `
|
||||||
|
-DROCM_DIR="${env:HIP_PATH}" `
|
||||||
|
-DGGML_HIP=ON `
|
||||||
|
-DGGML_HIP_ROCWMMA_FATTN=ON `
|
||||||
|
-DGPU_TARGETS="gfx1100" `
|
||||||
|
-DGGML_RPC=ON
|
||||||
|
cmake --build build -j ${env:NUMBER_OF_PROCESSORS}
|
||||||
|
|
||||||
|
ubuntu-22-musa:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
container: mthreads/musa:rc4.3.0-devel-ubuntu22.04-amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y build-essential git cmake libssl-dev
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: ubuntu-22-musa
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Build with native CMake MUSA support
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build -S . \
|
||||||
|
-DGGML_MUSA=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
name: CI (ibm)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-ibm.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp'
|
||||||
|
]
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-ibm.yml',
|
||||||
|
'ggml/src/ggml-cpu/**'
|
||||||
|
]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GGML_NLOOP: 3
|
||||||
|
GGML_N_THREADS: 1
|
||||||
|
LLAMA_LOG_COLORS: 1
|
||||||
|
LLAMA_LOG_PREFIX: 1
|
||||||
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
ubuntu-24-s390x:
|
||||||
|
runs-on: ubuntu-24.04-s390x
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Build Dependencies
|
||||||
|
id: build_depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y --no-install-recommends \
|
||||||
|
python3 python3-pip python3-dev python3-wheel \
|
||||||
|
libjpeg-dev build-essential libssl-dev \
|
||||||
|
git-lfs
|
||||||
|
|
||||||
|
- name: Toolchain workaround (GCC 14)
|
||||||
|
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
|
||||||
|
id: python_depends
|
||||||
|
run: |
|
||||||
|
export PIP_BREAK_SYSTEM_PACKAGES="1"
|
||||||
|
python3 -m pip install --upgrade pip setuptools
|
||||||
|
pip3 install ./gguf-py
|
||||||
|
|
||||||
|
- name: Swap Endianness
|
||||||
|
id: endianness
|
||||||
|
run: |
|
||||||
|
for f in models/*.gguf; do
|
||||||
|
echo YES | python3 gguf-py/gguf/scripts/gguf_convert_endian.py $f big
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-DLLAMA_FATAL_WARNINGS=ON \
|
||||||
|
-DGGML_RPC=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
ctest -L main --verbose --timeout 900
|
||||||
|
|
||||||
|
- name: Test llama2c (s390x)
|
||||||
|
id: llama2c_test_s390x
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
echo "Fetch llama2c big-endian model"
|
||||||
|
wget https://huggingface.co/ggml-org/models/resolve/main/tinyllamas/stories260K-be.gguf
|
||||||
|
./bin/llama-completion -m stories260K-be.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
||||||
|
|
||||||
|
ubuntu-24-ppc64le:
|
||||||
|
runs-on: ubuntu-24.04-ppc64le
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Build Dependencies
|
||||||
|
id: build_depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y --no-install-recommends \
|
||||||
|
python3 python3-pip python3-dev python3-wheel \
|
||||||
|
libjpeg-dev build-essential libssl-dev \
|
||||||
|
git-lfs
|
||||||
|
|
||||||
|
- name: Toolchain workaround (GCC 14)
|
||||||
|
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
|
||||||
|
id: python_depends
|
||||||
|
run: |
|
||||||
|
export PIP_BREAK_SYSTEM_PACKAGES="1"
|
||||||
|
python3 -m pip install --upgrade pip setuptools
|
||||||
|
pip3 install ./gguf-py
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-DLLAMA_FATAL_WARNINGS=ON \
|
||||||
|
-DGGML_RPC=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
ctest -L main --verbose --timeout 900
|
||||||
|
|
||||||
|
- name: Test llama2c conversion
|
||||||
|
id: llama2c_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
echo "Fetch tokenizer"
|
||||||
|
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/tok512.bin
|
||||||
|
echo "Fetch llama2c model"
|
||||||
|
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/stories260K.bin
|
||||||
|
./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
|
||||||
|
./bin/llama-completion -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
name: CI (opencl)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-opencl.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp',
|
||||||
|
'**/*.cl'
|
||||||
|
]
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-opencl.yml',
|
||||||
|
'ggml/src/ggml-opencl/**'
|
||||||
|
]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GGML_NLOOP: 3
|
||||||
|
GGML_N_THREADS: 1
|
||||||
|
LLAMA_LOG_COLORS: 1
|
||||||
|
LLAMA_LOG_PREFIX: 1
|
||||||
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
windows-latest-opencl-adreno:
|
||||||
|
runs-on: windows-2025
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: windows-latest-llvm-arm64-opencl-adreno
|
||||||
|
variant: ccache
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Install Ninja
|
||||||
|
id: install_ninja
|
||||||
|
run: |
|
||||||
|
choco install ninja
|
||||||
|
|
||||||
|
- name: Install OpenCL Headers and Libs
|
||||||
|
id: install_opencl
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/KhronosGroup/OpenCL-Headers
|
||||||
|
cd OpenCL-Headers
|
||||||
|
cmake -B build `
|
||||||
|
-DBUILD_TESTING=OFF `
|
||||||
|
-DOPENCL_HEADERS_BUILD_TESTING=OFF `
|
||||||
|
-DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
|
||||||
|
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
|
||||||
|
cmake --build build --target install
|
||||||
|
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
|
||||||
|
cd OpenCL-ICD-Loader
|
||||||
|
cmake -B build-arm64-release `
|
||||||
|
-A arm64 `
|
||||||
|
-DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" `
|
||||||
|
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
|
||||||
|
cmake --build build-arm64-release --target install --config release
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build -G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" -DGGML_OPENCL=ON -DGGML_OPENCL_USE_ADRENO_KERNELS=ON -DLLAMA_BUILD_BORINGSSL=ON
|
||||||
|
cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS}
|
||||||
@@ -34,6 +34,76 @@ env:
|
|||||||
LLAMA_LOG_TIMESTAMPS: 1
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
ubuntu-cpu-riscv64-native:
|
||||||
|
runs-on: ubuntu-24.04-riscv
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
# Install necessary packages
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libssl-dev
|
||||||
|
|
||||||
|
# Set gcc-14 and g++-14 as the default compilers
|
||||||
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
|
||||||
|
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
|
||||||
|
|
||||||
|
git lfs install
|
||||||
|
|
||||||
|
- name: Check environment
|
||||||
|
run: |
|
||||||
|
uname -a
|
||||||
|
gcc --version
|
||||||
|
g++ --version
|
||||||
|
ldd --version
|
||||||
|
cmake --version
|
||||||
|
rustc --version
|
||||||
|
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@afde29e5b5422e5da23cb1f639e8baecadeadfc3 # https://github.com/ggml-org/ccache-action/pull/1
|
||||||
|
with:
|
||||||
|
key: ubuntu-cpu-riscv64-native
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DGGML_OPENMP=OFF \
|
||||||
|
-DLLAMA_BUILD_EXAMPLES=ON \
|
||||||
|
-DLLAMA_BUILD_TOOLS=ON \
|
||||||
|
-DLLAMA_BUILD_TESTS=ON \
|
||||||
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
|
-DGGML_RPC=ON \
|
||||||
|
-DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
|
||||||
|
-DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14
|
||||||
|
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
ctest -L main --verbose --timeout 900
|
||||||
|
|
||||||
|
- name: Test llama2c conversion
|
||||||
|
id: llama2c_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
echo "Fetch tokenizer"
|
||||||
|
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/tok512.bin
|
||||||
|
echo "Fetch llama2c model"
|
||||||
|
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/stories260K.bin
|
||||||
|
./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
|
||||||
|
./bin/llama-completion -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
||||||
|
|
||||||
ubuntu-riscv64-native-sanitizer:
|
ubuntu-riscv64-native-sanitizer:
|
||||||
runs-on: ubuntu-24.04-riscv
|
runs-on: ubuntu-24.04-riscv
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
name: CI (rpc)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-rpc.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp'
|
||||||
|
]
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-rpc.yml',
|
||||||
|
'ggml/src/ggml-rpc/**'
|
||||||
|
]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GGML_NLOOP: 3
|
||||||
|
GGML_N_THREADS: 1
|
||||||
|
LLAMA_LOG_COLORS: 1
|
||||||
|
LLAMA_LOG_PREFIX: 1
|
||||||
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
ubuntu-latest-rpc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install build-essential libssl-dev ninja-build
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-G "Ninja" \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DGGML_RPC=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
ctest -L main --verbose
|
||||||
@@ -38,12 +38,10 @@ jobs:
|
|||||||
ubuntu-24-sycl:
|
ubuntu-24-sycl:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
build: [fp32, fp16]
|
build: [fp32]
|
||||||
include:
|
include:
|
||||||
- build: fp32
|
- build: fp32
|
||||||
fp16: OFF
|
fp16: OFF
|
||||||
- build: fp16
|
|
||||||
fp16: ON
|
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,186 @@
|
|||||||
|
name: CI (webgpu)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-webgpu.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp',
|
||||||
|
'**/*.wgsl'
|
||||||
|
]
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: [
|
||||||
|
'.github/workflows/build-webgpu.yml',
|
||||||
|
'ggml/src/ggml-webgpu/**'
|
||||||
|
]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
GGML_NLOOP: 3
|
||||||
|
GGML_N_THREADS: 1
|
||||||
|
LLAMA_LOG_COLORS: 1
|
||||||
|
LLAMA_LOG_PREFIX: 1
|
||||||
|
LLAMA_LOG_TIMESTAMPS: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
macOS-latest-arm64-webgpu:
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: macOS-latest-arm64-webgpu
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Dawn Dependency
|
||||||
|
id: dawn-depends
|
||||||
|
run: |
|
||||||
|
DAWN_VERSION="v20260317.182325"
|
||||||
|
DAWN_OWNER="google"
|
||||||
|
DAWN_REPO="dawn"
|
||||||
|
DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-macos-latest-Release"
|
||||||
|
echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
||||||
|
curl -L -o artifact.tar.gz \
|
||||||
|
"https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
||||||
|
mkdir dawn
|
||||||
|
tar -xvf artifact.tar.gz -C dawn --strip-components=1
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
export CMAKE_PREFIX_PATH=dawn
|
||||||
|
cmake -B build -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DGGML_WEBGPU=ON -DGGML_METAL=OFF -DGGML_BLAS=OFF
|
||||||
|
time cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
ctest -L main --verbose --timeout 900
|
||||||
|
|
||||||
|
ubuntu-24-webgpu:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
|
with:
|
||||||
|
key: ubuntu-24-webgpu
|
||||||
|
evict-old-files: 1d
|
||||||
|
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
sudo add-apt-repository -y ppa:kisak/kisak-mesa
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install -y build-essential mesa-vulkan-drivers \
|
||||||
|
libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev libssl-dev
|
||||||
|
|
||||||
|
- name: Get latest Vulkan SDK version
|
||||||
|
id: vulkan_sdk_version
|
||||||
|
run: |
|
||||||
|
echo "VULKAN_SDK_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.txt)" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
|
- name: Use Vulkan SDK Cache
|
||||||
|
uses: actions/cache@v5
|
||||||
|
id: cache-sdk
|
||||||
|
with:
|
||||||
|
path: ./vulkan_sdk
|
||||||
|
key: vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
|
||||||
|
|
||||||
|
- name: Setup Vulkan SDK
|
||||||
|
if: steps.cache-sdk.outputs.cache-hit != 'true'
|
||||||
|
uses: ./.github/actions/linux-setup-vulkan
|
||||||
|
with:
|
||||||
|
path: ./vulkan_sdk
|
||||||
|
version: ${{ env.VULKAN_SDK_VERSION }}
|
||||||
|
|
||||||
|
- name: Dawn Dependency
|
||||||
|
id: dawn-depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev libxi-dev
|
||||||
|
DAWN_VERSION="v20260317.182325"
|
||||||
|
DAWN_OWNER="google"
|
||||||
|
DAWN_REPO="dawn"
|
||||||
|
DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-ubuntu-latest-Release"
|
||||||
|
echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
||||||
|
curl -L -o artifact.tar.gz \
|
||||||
|
"https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
||||||
|
mkdir dawn
|
||||||
|
tar -xvf artifact.tar.gz -C dawn --strip-components=1
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
export Dawn_DIR=dawn/lib64/cmake/Dawn
|
||||||
|
cmake -B build \
|
||||||
|
-DGGML_WEBGPU=ON
|
||||||
|
time cmake --build build --config Release -j $(nproc)
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: cmake_test
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
# This is using llvmpipe and runs slower than other backends
|
||||||
|
# test-backend-ops is too slow on llvmpipe, skip it
|
||||||
|
ctest -L main -E test-backend-ops --verbose --timeout 900
|
||||||
|
|
||||||
|
ubuntu-24-webgpu-wasm:
|
||||||
|
runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Install Emscripten
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/emscripten-core/emsdk.git
|
||||||
|
cd emsdk
|
||||||
|
./emsdk install latest
|
||||||
|
./emsdk activate latest
|
||||||
|
|
||||||
|
- name: Fetch emdawnwebgpu
|
||||||
|
run: |
|
||||||
|
DAWN_TAG="v20260317.182325"
|
||||||
|
EMDAWN_PKG="emdawnwebgpu_pkg-${DAWN_TAG}.zip"
|
||||||
|
echo "Downloading ${EMDAWN_PKG}"
|
||||||
|
curl -L -o emdawn.zip \
|
||||||
|
"https://github.com/google/dawn/releases/download/${DAWN_TAG}/${EMDAWN_PKG}"
|
||||||
|
unzip emdawn.zip
|
||||||
|
|
||||||
|
- name: Build WASM WebGPU
|
||||||
|
run: |
|
||||||
|
source emsdk/emsdk_env.sh
|
||||||
|
emcmake cmake -B build-wasm \
|
||||||
|
-G "Ninja" \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DGGML_WEBGPU=ON \
|
||||||
|
-DLLAMA_OPENSSL=OFF \
|
||||||
|
-DEMDAWNWEBGPU_DIR=emdawnwebgpu_pkg
|
||||||
|
|
||||||
|
time cmake --build build-wasm --config Release --target test-backend-ops -j $(nproc)
|
||||||
@@ -132,47 +132,6 @@ jobs:
|
|||||||
cd build
|
cd build
|
||||||
ctest -L main --verbose --timeout 900
|
ctest -L main --verbose --timeout 900
|
||||||
|
|
||||||
macOS-latest-arm64-webgpu:
|
|
||||||
runs-on: macos-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: macOS-latest-arm64-webgpu
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Dawn Dependency
|
|
||||||
id: dawn-depends
|
|
||||||
run: |
|
|
||||||
DAWN_VERSION="v20260317.182325"
|
|
||||||
DAWN_OWNER="google"
|
|
||||||
DAWN_REPO="dawn"
|
|
||||||
DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-macos-latest-Release"
|
|
||||||
echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
|
||||||
curl -L -o artifact.tar.gz \
|
|
||||||
"https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
|
||||||
mkdir dawn
|
|
||||||
tar -xvf artifact.tar.gz -C dawn --strip-components=1
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
export CMAKE_PREFIX_PATH=dawn
|
|
||||||
cmake -B build -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DGGML_WEBGPU=ON -DGGML_METAL=OFF -DGGML_BLAS=OFF
|
|
||||||
time cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
id: cmake_test
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
ctest -L main --verbose --timeout 900
|
|
||||||
|
|
||||||
ubuntu-cpu:
|
ubuntu-cpu:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -181,10 +140,6 @@ jobs:
|
|||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
- build: 'arm64'
|
- build: 'arm64'
|
||||||
os: ubuntu-24.04-arm
|
os: ubuntu-24.04-arm
|
||||||
- build: 's390x'
|
|
||||||
os: ubuntu-24.04-s390x
|
|
||||||
- build: 'ppc64le'
|
|
||||||
os: ubuntu-24.04-ppc64le
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
@@ -194,7 +149,6 @@ jobs:
|
|||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: ccache
|
- name: ccache
|
||||||
if: ${{ matrix.build != 's390x' && matrix.build != 'ppc64le' }}
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
uses: ggml-org/ccache-action@v1.2.21
|
||||||
with:
|
with:
|
||||||
key: ubuntu-cpu-${{ matrix.build }}
|
key: ubuntu-cpu-${{ matrix.build }}
|
||||||
@@ -224,14 +178,6 @@ jobs:
|
|||||||
python3 -m pip install --upgrade pip setuptools
|
python3 -m pip install --upgrade pip setuptools
|
||||||
pip3 install ./gguf-py
|
pip3 install ./gguf-py
|
||||||
|
|
||||||
- name: Swap Endianness
|
|
||||||
id: endianness
|
|
||||||
if: ${{ matrix.build == 's390x' }}
|
|
||||||
run: |
|
|
||||||
for f in models/*.gguf; do
|
|
||||||
echo YES | python3 gguf-py/gguf/scripts/gguf_convert_endian.py $f big
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
id: cmake_build
|
id: cmake_build
|
||||||
run: |
|
run: |
|
||||||
@@ -248,7 +194,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Test llama2c conversion
|
- name: Test llama2c conversion
|
||||||
id: llama2c_test
|
id: llama2c_test
|
||||||
if: ${{ matrix.build != 's390x' }}
|
|
||||||
run: |
|
run: |
|
||||||
cd build
|
cd build
|
||||||
echo "Fetch tokenizer"
|
echo "Fetch tokenizer"
|
||||||
@@ -258,96 +203,6 @@ jobs:
|
|||||||
./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
|
./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
|
||||||
./bin/llama-completion -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
./bin/llama-completion -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
||||||
|
|
||||||
- name: Test llama2c (s390x)
|
|
||||||
id: llama2c_test_s390x
|
|
||||||
if: ${{ matrix.build == 's390x' }}
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
echo "Fetch llama2c big-endian model"
|
|
||||||
wget https://huggingface.co/ggml-org/models/resolve/main/tinyllamas/stories260K-be.gguf
|
|
||||||
./bin/llama-completion -m stories260K-be.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
|
||||||
|
|
||||||
android-arm64:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
env:
|
|
||||||
NDK_VERSION: "29.0.14206865"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: android-arm64
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Set up JDK
|
|
||||||
uses: actions/setup-java@v5
|
|
||||||
with:
|
|
||||||
java-version: 17
|
|
||||||
distribution: temurin
|
|
||||||
|
|
||||||
- name: Setup Android SDK
|
|
||||||
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
|
|
||||||
with:
|
|
||||||
log-accepted-android-sdk-licenses: false
|
|
||||||
|
|
||||||
- name: Install NDK
|
|
||||||
run: |
|
|
||||||
sdkmanager "ndk;${{ env.NDK_VERSION }}"
|
|
||||||
echo "ANDROID_NDK=${ANDROID_SDK_ROOT}/ndk/${{ env.NDK_VERSION }}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
cmake -B build \
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
|
|
||||||
-DANDROID_ABI=arm64-v8a \
|
|
||||||
-DANDROID_PLATFORM=android-28 \
|
|
||||||
-DLLAMA_FATAL_WARNINGS=ON \
|
|
||||||
-DGGML_BACKEND_DL=ON \
|
|
||||||
-DGGML_NATIVE=OFF \
|
|
||||||
-DGGML_CPU_ALL_VARIANTS=ON \
|
|
||||||
-DGGML_OPENMP=OFF \
|
|
||||||
-DLLAMA_BUILD_BORINGSSL=ON \
|
|
||||||
-DGGML_RPC=ON
|
|
||||||
time cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
ubuntu-latest-rpc:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Dependencies
|
|
||||||
id: depends
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install build-essential libssl-dev ninja-build
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
cmake -B build \
|
|
||||||
-G "Ninja" \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DGGML_RPC=ON
|
|
||||||
time cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
id: cmake_test
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
ctest -L main --verbose
|
|
||||||
|
|
||||||
ubuntu-24-vulkan:
|
ubuntu-24-vulkan:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -387,176 +242,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
time cmake --build build -j $(nproc)
|
time cmake --build build -j $(nproc)
|
||||||
|
|
||||||
ubuntu-24-webgpu:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: ubuntu-24-webgpu
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Dependencies
|
|
||||||
id: depends
|
|
||||||
run: |
|
|
||||||
sudo add-apt-repository -y ppa:kisak/kisak-mesa
|
|
||||||
sudo apt-get update -y
|
|
||||||
sudo apt-get install -y build-essential mesa-vulkan-drivers \
|
|
||||||
libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev libssl-dev
|
|
||||||
|
|
||||||
- name: Get latest Vulkan SDK version
|
|
||||||
id: vulkan_sdk_version
|
|
||||||
run: |
|
|
||||||
echo "VULKAN_SDK_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.txt)" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Use Vulkan SDK Cache
|
|
||||||
uses: actions/cache@v5
|
|
||||||
id: cache-sdk
|
|
||||||
with:
|
|
||||||
path: ./vulkan_sdk
|
|
||||||
key: vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
|
|
||||||
|
|
||||||
- name: Setup Vulkan SDK
|
|
||||||
if: steps.cache-sdk.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/linux-setup-vulkan
|
|
||||||
with:
|
|
||||||
path: ./vulkan_sdk
|
|
||||||
version: ${{ env.VULKAN_SDK_VERSION }}
|
|
||||||
|
|
||||||
- name: Dawn Dependency
|
|
||||||
id: dawn-depends
|
|
||||||
run: |
|
|
||||||
sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev mesa-common-dev libx11-xcb-dev libxi-dev
|
|
||||||
DAWN_VERSION="v20260317.182325"
|
|
||||||
DAWN_OWNER="google"
|
|
||||||
DAWN_REPO="dawn"
|
|
||||||
DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-ubuntu-latest-Release"
|
|
||||||
echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
|
||||||
curl -L -o artifact.tar.gz \
|
|
||||||
"https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
|
|
||||||
mkdir dawn
|
|
||||||
tar -xvf artifact.tar.gz -C dawn --strip-components=1
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
export Dawn_DIR=dawn/lib64/cmake/Dawn
|
|
||||||
cmake -B build \
|
|
||||||
-DGGML_WEBGPU=ON
|
|
||||||
time cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
id: cmake_test
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
# This is using llvmpipe and runs slower than other backends
|
|
||||||
# test-backend-ops is too slow on llvmpipe, skip it
|
|
||||||
ctest -L main -E test-backend-ops --verbose --timeout 900
|
|
||||||
|
|
||||||
ubuntu-24-webgpu-wasm:
|
|
||||||
runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Install Emscripten
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/emscripten-core/emsdk.git
|
|
||||||
cd emsdk
|
|
||||||
./emsdk install latest
|
|
||||||
./emsdk activate latest
|
|
||||||
|
|
||||||
- name: Fetch emdawnwebgpu
|
|
||||||
run: |
|
|
||||||
DAWN_TAG="v20260317.182325"
|
|
||||||
EMDAWN_PKG="emdawnwebgpu_pkg-${DAWN_TAG}.zip"
|
|
||||||
echo "Downloading ${EMDAWN_PKG}"
|
|
||||||
curl -L -o emdawn.zip \
|
|
||||||
"https://github.com/google/dawn/releases/download/${DAWN_TAG}/${EMDAWN_PKG}"
|
|
||||||
unzip emdawn.zip
|
|
||||||
|
|
||||||
- name: Build WASM WebGPU
|
|
||||||
run: |
|
|
||||||
source emsdk/emsdk_env.sh
|
|
||||||
emcmake cmake -B build-wasm \
|
|
||||||
-G "Ninja" \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DGGML_WEBGPU=ON \
|
|
||||||
-DLLAMA_OPENSSL=OFF \
|
|
||||||
-DEMDAWNWEBGPU_DIR=emdawnwebgpu_pkg
|
|
||||||
|
|
||||||
time cmake --build build-wasm --config Release --target test-backend-ops -j $(nproc)
|
|
||||||
|
|
||||||
ubuntu-22-hip:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
container: rocm/dev-ubuntu-22.04:6.1.2
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Dependencies
|
|
||||||
id: depends
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y build-essential git cmake rocblas-dev hipblas-dev libssl-dev rocwmma-dev
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: ubuntu-22-hip
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Build with native CMake HIP support
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
cmake -B build -S . \
|
|
||||||
-DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" \
|
|
||||||
-DGGML_HIP_ROCWMMA_FATTN=ON \
|
|
||||||
-DGPU_TARGETS="gfx1030" \
|
|
||||||
-DGGML_HIP=ON
|
|
||||||
cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
ubuntu-22-musa:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
container: mthreads/musa:rc4.3.0-devel-ubuntu22.04-amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Dependencies
|
|
||||||
id: depends
|
|
||||||
run: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y build-essential git cmake libssl-dev
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: ubuntu-22-musa
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Build with native CMake MUSA support
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
cmake -B build -S . \
|
|
||||||
-DGGML_MUSA=ON
|
|
||||||
time cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
|
|
||||||
windows-latest:
|
windows-latest:
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025
|
||||||
|
|
||||||
@@ -580,9 +265,6 @@ jobs:
|
|||||||
- build: 'llvm-arm64'
|
- build: 'llvm-arm64'
|
||||||
arch: 'arm64'
|
arch: 'arm64'
|
||||||
defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON'
|
defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON'
|
||||||
- build: 'llvm-arm64-opencl-adreno'
|
|
||||||
arch: 'arm64'
|
|
||||||
defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" -DGGML_OPENCL=ON -DGGML_OPENCL_USE_ADRENO_KERNELS=ON'
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
@@ -624,26 +306,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
choco install ninja
|
choco install ninja
|
||||||
|
|
||||||
- name: Install OpenCL Headers and Libs
|
|
||||||
id: install_opencl
|
|
||||||
if: ${{ matrix.build == 'llvm-arm64-opencl-adreno' }}
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/KhronosGroup/OpenCL-Headers
|
|
||||||
cd OpenCL-Headers
|
|
||||||
cmake -B build `
|
|
||||||
-DBUILD_TESTING=OFF `
|
|
||||||
-DOPENCL_HEADERS_BUILD_TESTING=OFF `
|
|
||||||
-DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
|
|
||||||
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
|
|
||||||
cmake --build build --target install
|
|
||||||
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
|
|
||||||
cd OpenCL-ICD-Loader
|
|
||||||
cmake -B build-arm64-release `
|
|
||||||
-A arm64 `
|
|
||||||
-DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" `
|
|
||||||
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
|
|
||||||
cmake --build build-arm64-release --target install --config release
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
id: cmake_build
|
id: cmake_build
|
||||||
run: |
|
run: |
|
||||||
@@ -764,145 +426,6 @@ jobs:
|
|||||||
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
|
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
|
||||||
cmake --build build --config Release
|
cmake --build build --config Release
|
||||||
|
|
||||||
|
|
||||||
windows-latest-hip:
|
|
||||||
runs-on: windows-2022
|
|
||||||
|
|
||||||
env:
|
|
||||||
# Make sure this is in sync with build-cache.yml
|
|
||||||
HIPSDK_INSTALLER_VERSION: "26.Q1"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Grab rocWMMA package
|
|
||||||
id: grab_rocwmma
|
|
||||||
run: |
|
|
||||||
curl -o rocwmma.deb "https://repo.radeon.com/rocm/apt/7.2.1/pool/main/r/rocwmma-dev/rocwmma-dev_2.2.0.70201-81~24.04_amd64.deb"
|
|
||||||
7z x rocwmma.deb
|
|
||||||
7z x data.tar
|
|
||||||
|
|
||||||
- name: Use ROCm Installation Cache
|
|
||||||
uses: actions/cache@v5
|
|
||||||
id: cache-rocm
|
|
||||||
with:
|
|
||||||
path: C:\Program Files\AMD\ROCm
|
|
||||||
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
|
|
||||||
|
|
||||||
- name: Setup ROCm
|
|
||||||
if: steps.cache-rocm.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/windows-setup-rocm
|
|
||||||
with:
|
|
||||||
version: ${{ env.HIPSDK_INSTALLER_VERSION }}
|
|
||||||
|
|
||||||
- name: Verify ROCm
|
|
||||||
id: verify
|
|
||||||
run: |
|
|
||||||
# Find and test ROCm installation
|
|
||||||
$clangPath = Get-ChildItem 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | Select-Object -First 1
|
|
||||||
if (-not $clangPath) {
|
|
||||||
Write-Error "ROCm installation not found"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
& $clangPath.FullName --version
|
|
||||||
|
|
||||||
- name: Install ccache
|
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
|
||||||
with:
|
|
||||||
key: ${{ github.job }}
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
$env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)
|
|
||||||
$env:CMAKE_PREFIX_PATH="${env:HIP_PATH}"
|
|
||||||
cmake -G "Unix Makefiles" -B build -S . `
|
|
||||||
-DCMAKE_C_COMPILER="${env:HIP_PATH}\bin\clang.exe" `
|
|
||||||
-DCMAKE_CXX_COMPILER="${env:HIP_PATH}\bin\clang++.exe" `
|
|
||||||
-DCMAKE_CXX_FLAGS="-I$($PWD.Path.Replace('\', '/'))/opt/rocm-7.2.1/include/" `
|
|
||||||
-DCMAKE_BUILD_TYPE=Release `
|
|
||||||
-DLLAMA_BUILD_BORINGSSL=ON `
|
|
||||||
-DROCM_DIR="${env:HIP_PATH}" `
|
|
||||||
-DGGML_HIP=ON `
|
|
||||||
-DGGML_HIP_ROCWMMA_FATTN=ON `
|
|
||||||
-DGPU_TARGETS="gfx1100" `
|
|
||||||
-DGGML_RPC=ON
|
|
||||||
cmake --build build -j ${env:NUMBER_OF_PROCESSORS}
|
|
||||||
|
|
||||||
ubuntu-cpu-riscv64-native:
|
|
||||||
runs-on: ubuntu-24.04-riscv
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
# Install necessary packages
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libssl-dev
|
|
||||||
|
|
||||||
# Set gcc-14 and g++-14 as the default compilers
|
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
|
|
||||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
|
|
||||||
|
|
||||||
git lfs install
|
|
||||||
|
|
||||||
- name: Check environment
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
gcc --version
|
|
||||||
g++ --version
|
|
||||||
ldd --version
|
|
||||||
cmake --version
|
|
||||||
rustc --version
|
|
||||||
|
|
||||||
- name: Clone
|
|
||||||
id: checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: ccache
|
|
||||||
uses: ggml-org/ccache-action@afde29e5b5422e5da23cb1f639e8baecadeadfc3 # https://github.com/ggml-org/ccache-action/pull/1
|
|
||||||
with:
|
|
||||||
key: ubuntu-cpu-riscv64-native
|
|
||||||
evict-old-files: 1d
|
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
id: cmake_build
|
|
||||||
run: |
|
|
||||||
cmake -B build \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DGGML_OPENMP=OFF \
|
|
||||||
-DLLAMA_BUILD_EXAMPLES=ON \
|
|
||||||
-DLLAMA_BUILD_TOOLS=ON \
|
|
||||||
-DLLAMA_BUILD_TESTS=ON \
|
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
|
||||||
-DGGML_RPC=ON \
|
|
||||||
-DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
|
|
||||||
-DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14
|
|
||||||
|
|
||||||
time cmake --build build --config Release -j $(nproc)
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
id: cmake_test
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
ctest -L main --verbose --timeout 900
|
|
||||||
|
|
||||||
- name: Test llama2c conversion
|
|
||||||
id: llama2c_test
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
echo "Fetch tokenizer"
|
|
||||||
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/tok512.bin
|
|
||||||
echo "Fetch llama2c model"
|
|
||||||
wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/stories260K.bin
|
|
||||||
./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
|
|
||||||
./bin/llama-completion -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
|
|
||||||
|
|
||||||
# TODO: simplify the following workflows using a matrix
|
# TODO: simplify the following workflows using a matrix
|
||||||
# TODO: run lighter CI on PRs and the full CI only on master (if needed)
|
# TODO: run lighter CI on PRs and the full CI only on master (if needed)
|
||||||
ggml-ci-x64-cpu-low-perf:
|
ggml-ci-x64-cpu-low-perf:
|
||||||
|
|||||||
@@ -772,12 +772,10 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
build: [fp32, fp16]
|
build: [fp32]
|
||||||
include:
|
include:
|
||||||
- build: fp32
|
- build: fp32
|
||||||
fp16: OFF
|
fp16: OFF
|
||||||
- build: fp16
|
|
||||||
fp16: ON
|
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
@@ -1363,7 +1361,6 @@ jobs:
|
|||||||
- [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 (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)
|
||||||
- [Ubuntu x64 (SYCL FP32)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-fp32-x64.tar.gz)
|
- [Ubuntu x64 (SYCL FP32)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-fp32-x64.tar.gz)
|
||||||
- [Ubuntu x64 (SYCL FP16)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-fp16-x64.tar.gz)
|
|
||||||
|
|
||||||
**Android:**
|
**Android:**
|
||||||
- [Android arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-android-arm64.tar.gz)
|
- [Android arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-android-arm64.tar.gz)
|
||||||
|
|||||||
Reference in New Issue
Block a user