ci : reduce (disable SYCL and CANN builds/releases) (#23705)

* ci : reduce

[no ci]

* cont : disable sycl, cann + rename caches

[no ci]

* cont : cann

[no ci]
This commit is contained in:
Georgi Gerganov
2026-05-26 15:21:21 +03:00
committed by GitHub
parent dbe9c0c8ce
commit 3dc7684f39
9 changed files with 511 additions and 500 deletions
+4 -4
View File
@@ -28,7 +28,7 @@ jobs:
id: cache-sdk id: cache-sdk
with: with:
path: ./vulkan_sdk path: ./vulkan_sdk
key: vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }} key: cache-gha-vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
- name: Setup Vulkan SDK - name: Setup Vulkan SDK
if: steps.cache-sdk.outputs.cache-hit != 'true' if: steps.cache-sdk.outputs.cache-hit != 'true'
@@ -54,7 +54,7 @@ jobs:
# id: cache-toolchain # id: cache-toolchain
# with: # with:
# path: ./spacemit_toolchain # path: ./spacemit_toolchain
# key: spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}-${{ runner.os }} # key: cache-gha-spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}-${{ runner.os }}
# - name: Setup SpacemiT Toolchain # - name: Setup SpacemiT Toolchain
# if: steps.cache-toolchain.outputs.cache-hit != 'true' # if: steps.cache-toolchain.outputs.cache-hit != 'true'
@@ -81,7 +81,7 @@ jobs:
id: cache-openvino id: cache-openvino
with: with:
path: ./openvino_toolkit path: ./openvino_toolkit
key: openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }} key: cache-gha-openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }}
- name: Setup OpenVINO Toolkit - name: Setup OpenVINO Toolkit
if: steps.cache-openvino.outputs.cache-hit != 'true' if: steps.cache-openvino.outputs.cache-hit != 'true'
@@ -108,7 +108,7 @@ jobs:
id: cache-rocm id: cache-rocm
with: with:
path: C:\Program Files\AMD\ROCm path: C:\Program Files\AMD\ROCm
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }} key: cache-gha-rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
- name: Setup ROCm - name: Setup ROCm
if: steps.cache-rocm.outputs.cache-hit != 'true' if: steps.cache-rocm.outputs.cache-hit != 'true'
+68 -66
View File
@@ -34,69 +34,71 @@ env:
LLAMA_LOG_TIMESTAMPS: 1 LLAMA_LOG_TIMESTAMPS: 1
jobs: jobs:
openEuler-latest-cann: # TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
defaults: # in order to enable it again, we have to provision dedicated runners to run it
run: # openEuler-latest-cann:
shell: bash -el {0} # defaults:
strategy: # run:
matrix: # shell: bash -el {0}
arch: [x86, aarch64] # strategy:
chip_type: ['910b', '310p'] # matrix:
build: ['Release'] # arch: [x86, aarch64]
use_acl_graph: ['on', 'off'] # chip_type: ['910b', '310p']
exclude: # build: ['Release']
# 310P does not support USE_ACL_GRAPH=on # use_acl_graph: ['on', 'off']
- chip_type: '310p' # exclude:
use_acl_graph: 'on' # # 310P does not support USE_ACL_GRAPH=on
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} # - chip_type: '310p'
steps: # use_acl_graph: 'on'
- name: Checkout # runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
uses: actions/checkout@v6 # steps:
with: # - name: Checkout
fetch-depth: 0 # uses: actions/checkout@v6
# with:
- name: Free up disk space # fetch-depth: 0
uses: ggml-org/free-disk-space@v1.3.1 #
with: # - name: Free up disk space
tool-cache: true # uses: ggml-org/free-disk-space@v1.3.1
# with:
- name: Set container image # tool-cache: true
id: cann-image #
run: | # - name: Set container image
image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}" # id: cann-image
echo "image=${image}" >> "${GITHUB_OUTPUT}" # run: |
# image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}"
- name: Pull container image # echo "image=${image}" >> "${GITHUB_OUTPUT}"
run: docker pull "${{ steps.cann-image.outputs.image }}" #
# - name: Pull container image
- name: Build # run: docker pull "${{ steps.cann-image.outputs.image }}"
env: #
BUILD_TYPE: ${{ matrix.build }} # - name: Build
SOC_TYPE: ascend${{ matrix.chip_type }} # env:
USE_ACL_GRAPH: ${{ matrix.use_acl_graph }} # BUILD_TYPE: ${{ matrix.build }}
run: | # SOC_TYPE: ascend${{ matrix.chip_type }}
HOST_UID=$(id -u) # USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
HOST_GID=$(id -g) # run: |
# HOST_UID=$(id -u)
docker run --rm \ # HOST_GID=$(id -g)
-v "${PWD}:/workspace" \ #
-w /workspace \ # docker run --rm \
-e SOC_TYPE=${SOC_TYPE} \ # -v "${PWD}:/workspace" \
-e BUILD_TYPE=${BUILD_TYPE} \ # -w /workspace \
-e USE_ACL_GRAPH=${USE_ACL_GRAPH} \ # -e SOC_TYPE=${SOC_TYPE} \
"${{ steps.cann-image.outputs.image }}" \ # -e BUILD_TYPE=${BUILD_TYPE} \
bash -lc ' # -e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
set -e # "${{ steps.cann-image.outputs.image }}" \
yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel # bash -lc '
yum clean all && rm -rf /var/cache/yum # set -e
git config --global --add safe.directory "/workspace" # yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH} # yum clean all && rm -rf /var/cache/yum
cmake -S . -B build \ # git config --global --add safe.directory "/workspace"
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ # export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
-DGGML_CANN=on \ # cmake -S . -B build \
-DSOC_TYPE=${SOC_TYPE} \ # -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DUSE_ACL_GRAPH=${USE_ACL_GRAPH} # -DGGML_CANN=on \
cmake --build build -j $(nproc) # -DSOC_TYPE=${SOC_TYPE} \
# -DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build # cmake --build build -j $(nproc)
' #
# chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
# '
+1 -1
View File
@@ -287,7 +287,7 @@ jobs:
# id: cache-toolchain # id: cache-toolchain
# with: # with:
# path: ./spacemit_toolchain # path: ./spacemit_toolchain
# key: spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}-${{ runner.os }} # key: cache-gha-spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}-${{ runner.os }}
- name: Setup SpacemiT Toolchain - name: Setup SpacemiT Toolchain
#if: steps.cache-toolchain.outputs.cache-hit != 'true' #if: steps.cache-toolchain.outputs.cache-hit != 'true'
+1 -1
View File
@@ -93,7 +93,7 @@ jobs:
id: cache-rocm id: cache-rocm
with: with:
path: C:\Program Files\AMD\ROCm path: C:\Program Files\AMD\ROCm
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }} key: cache-gha-rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
- name: Setup ROCm - name: Setup ROCm
if: steps.cache-rocm.outputs.cache-hit != 'true' if: steps.cache-rocm.outputs.cache-hit != 'true'
+1 -1
View File
@@ -84,7 +84,7 @@ jobs:
id: cache-openvino id: cache-openvino
with: with:
path: ./openvino_toolkit path: ./openvino_toolkit
key: openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }} key: cache-gha-openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }}
- name: Setup OpenVINO Toolkit - name: Setup OpenVINO Toolkit
if: steps.cache-openvino.outputs.cache-hit != 'true' if: steps.cache-openvino.outputs.cache-hit != 'true'
+124 -120
View File
@@ -35,124 +35,128 @@ env:
jobs: jobs:
ubuntu-24-sycl: # TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
strategy: # in order to enable it again, we have to provision dedicated runners to run it
matrix: # ubuntu-24-sycl:
build: [fp32] # strategy:
include: # matrix:
- build: fp32 # build: [fp32]
fp16: OFF # include:
# - build: fp32
# fp16: OFF
#
# runs-on: ubuntu-24.04
#
# env:
# ONEAPI_ROOT: /opt/intel/oneapi/
# ONEAPI_INSTALLER_VERSION: "2025.3.3"
# LEVEL_ZERO_VERSION: "1.28.2"
# LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
#
# continue-on-error: true
#
# steps:
# - uses: actions/checkout@v6
#
# - name: Use oneAPI Installation Cache
# uses: actions/cache@v5
# id: cache-sycl
# with:
# path: ${{ env.ONEAPI_ROOT }}
# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
#
# - name: Download & Install oneAPI
# shell: bash
# if: steps.cache-sycl.outputs.cache-hit != 'true'
# run: |
# cd /tmp
# wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
# sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
#
# - name: Install Level Zero SDK
# shell: bash
# run: |
# cd /tmp
# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
# wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
# sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
#
# - name: Clone
# id: checkout
# uses: actions/checkout@v6
#
# - name: ccache
# uses: ggml-org/ccache-action@v1.2.21
# with:
# key: ubuntu-24-sycl-${{ matrix.build }}
# evict-old-files: 1d
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
#
# - name: Build
# id: cmake_build
# run: |
# source /opt/intel/oneapi/setvars.sh
# cmake -B build \
# -G "Ninja" \
# -DCMAKE_BUILD_TYPE=Release \
# -DGGML_SYCL=ON \
# -DCMAKE_C_COMPILER=icx \
# -DCMAKE_CXX_COMPILER=icpx \
# -DLLAMA_OPENSSL=OFF \
# -DGGML_NATIVE=OFF \
# -DGGML_SYCL_F16=${{ matrix.fp16 }}
# time cmake --build build --config Release -j $(nproc)
runs-on: ubuntu-24.04 # TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
# in order to enable it again, we have to provision dedicated runners to run it
env: # windows-latest-sycl:
ONEAPI_ROOT: /opt/intel/oneapi/ # runs-on: windows-2022
ONEAPI_INSTALLER_VERSION: "2025.3.3" #
LEVEL_ZERO_VERSION: "1.28.2" # defaults:
LEVEL_ZERO_UBUNTU_VERSION: "u24.04" # run:
# shell: bash
continue-on-error: true #
# env:
steps: # WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
- uses: actions/checkout@v6 # WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
# LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
- name: Use oneAPI Installation Cache # ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
uses: actions/cache@v5 # ONEAPI_INSTALLER_VERSION: "2025.3.3"
id: cache-sycl # steps:
with: # - name: Clone
path: ${{ env.ONEAPI_ROOT }} # id: checkout
key: oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }} # uses: actions/checkout@v6
#
- name: Download & Install oneAPI # - name: Use oneAPI Installation Cache
shell: bash # uses: actions/cache@v5
if: steps.cache-sycl.outputs.cache-hit != 'true' # id: cache-sycl
run: | # with:
cd /tmp # path: ${{ env.ONEAPI_ROOT }}
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh # key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept #
# - name: Download & Install oneAPI
- name: Install Level Zero SDK # shell: bash
shell: bash # if: steps.cache-sycl.outputs.cache-hit != 'true'
run: | # run: |
cd /tmp # scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb #
wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb # - name: Install Level Zero SDK
sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb # shell: pwsh
# run: |
- name: Clone # Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
id: checkout # Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
uses: actions/checkout@v6 # "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
#
- name: ccache # - name: ccache
uses: ggml-org/ccache-action@v1.2.21 # uses: ggml-org/ccache-action@v1.2.21
with: # with:
key: ubuntu-24-sycl-${{ matrix.build }} # key: windows-latest-sycl
evict-old-files: 1d # variant: ccache
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} # evict-old-files: 1d
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
- name: Build #
id: cmake_build # # TODO: add ssl support ; we will also need to modify win-build-sycl.bat to accept user-specified args
run: | #
source /opt/intel/oneapi/setvars.sh # - name: Build
cmake -B build \ # id: cmake_build
-G "Ninja" \ # run: examples/sycl/win-build-sycl.bat
-DCMAKE_BUILD_TYPE=Release \
-DGGML_SYCL=ON \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icpx \
-DLLAMA_OPENSSL=OFF \
-DGGML_NATIVE=OFF \
-DGGML_SYCL_F16=${{ matrix.fp16 }}
time cmake --build build --config Release -j $(nproc)
windows-latest-sycl:
runs-on: windows-2022
defaults:
run:
shell: bash
env:
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
ONEAPI_INSTALLER_VERSION: "2025.3.3"
steps:
- name: Clone
id: checkout
uses: actions/checkout@v6
- name: Use oneAPI Installation Cache
uses: actions/cache@v5
id: cache-sycl
with:
path: ${{ env.ONEAPI_ROOT }}
key: oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
- name: Download & Install oneAPI
shell: bash
if: steps.cache-sycl.outputs.cache-hit != 'true'
run: |
scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
- name: Install Level Zero SDK
shell: pwsh
run: |
Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
"LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: windows-latest-sycl
variant: ccache
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
# TODO: add ssl support ; we will also need to modify win-build-sycl.bat to accept user-specified args
- name: Build
id: cmake_build
run: examples/sycl/win-build-sycl.bat
+1 -1
View File
@@ -68,7 +68,7 @@ jobs:
id: cache-sdk id: cache-sdk
with: with:
path: ./vulkan_sdk path: ./vulkan_sdk
key: vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }} key: cache-gha-vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
- name: Setup Vulkan SDK - name: Setup Vulkan SDK
if: steps.cache-sdk.outputs.cache-hit != 'true' if: steps.cache-sdk.outputs.cache-hit != 'true'
+1 -1
View File
@@ -110,7 +110,7 @@ jobs:
id: cache-sdk id: cache-sdk
with: with:
path: ./vulkan_sdk path: ./vulkan_sdk
key: vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }} key: cache-gha-vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
- name: Setup Vulkan SDK - name: Setup Vulkan SDK
if: steps.cache-sdk.outputs.cache-hit != 'true' if: steps.cache-sdk.outputs.cache-hit != 'true'
+310 -305
View File
@@ -109,7 +109,6 @@ jobs:
name: llama-bin-macos-${{ matrix.build }}.tar.gz name: llama-bin-macos-${{ matrix.build }}.tar.gz
ubuntu-cpu: ubuntu-cpu:
strategy: strategy:
matrix: matrix:
include: include:
@@ -385,7 +384,7 @@ jobs:
id: cache-openvino id: cache-openvino
with: with:
path: ./openvino_toolkit path: ./openvino_toolkit
key: openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }} key: cache-gha-openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }}
- name: Setup OpenVINO Toolkit - name: Setup OpenVINO Toolkit
if: steps.cache-openvino.outputs.cache-hit != 'true' if: steps.cache-openvino.outputs.cache-hit != 'true'
@@ -655,210 +654,214 @@ jobs:
path: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip path: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip
name: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip name: cudart-llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip
windows-sycl: # TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
# in order to enable it again, we have to provision dedicated runners to run it
# windows-sycl:
#
# runs-on: windows-2022
#
# defaults:
# run:
# shell: bash
#
# env:
# WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe
# WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel
# LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip
# ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI"
# ONEAPI_INSTALLER_VERSION: "2025.3.3"
#
# steps:
# - name: Clone
# id: checkout
# uses: actions/checkout@v6
#
# - name: Use oneAPI Installation Cache
# uses: actions/cache@v5
# id: cache-sycl
# with:
# path: ${{ env.ONEAPI_ROOT }}
# key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
#
# - name: Download & Install oneAPI
# shell: bash
# if: steps.cache-sycl.outputs.cache-hit != 'true'
# run: |
# scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
#
# - name: Install Level Zero SDK
# shell: pwsh
# run: |
# Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip"
# Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force
# "LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append
#
# - name: Setup Node.js
# uses: actions/setup-node@v6
# with:
# node-version: "24"
# cache: "npm"
# cache-dependency-path: "tools/ui/package-lock.json"
#
# - name: ccache
# uses: ggml-org/ccache-action@v1.2.21
# with:
# key: windows-latest-sycl
# variant: ccache
# evict-old-files: 1d
#
# - name: Build
# id: cmake_build
# shell: cmd
# run: |
# call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
# cmake -G "Ninja" -B build ^
# -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx ^
# -DCMAKE_BUILD_TYPE=Release ^
# -DGGML_BACKEND_DL=ON -DBUILD_SHARED_LIBS=ON ^
# -DGGML_CPU=OFF -DGGML_SYCL=ON ^
# -DLLAMA_BUILD_BORINGSSL=ON
# cmake --build build --target ggml-sycl -j
#
# - name: Build the release package
# id: pack_artifacts
# run: |
# echo "cp oneAPI running time dll files in ${{ env.ONEAPI_ROOT }} to ./build/bin"
#
# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_sycl_blas.5.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_core.2.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_tbb_thread.2.dll" ./build/bin
#
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero_v2.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_opencl.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_loader.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_win_proxy_loader.dll" ./build/bin
# ZE_LOADER_DLL=$(find "${{ env.ONEAPI_ROOT }}" "$LEVEL_ZERO_V1_SDK_PATH" -iname ze_loader.dll -print -quit 2>/dev/null || true)
# if [ -n "$ZE_LOADER_DLL" ]; then
# echo "Using Level Zero loader: $ZE_LOADER_DLL"
# cp "$ZE_LOADER_DLL" ./build/bin
# else
# echo "Level Zero loader DLL not found in oneAPI or SDK; relying on system driver/runtime"
# fi
#
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl8.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/svml_dispmd.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libmmd.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libiomp5md.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl-ls.exe" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-fallback-bfloat16.spv" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-native-bfloat16.spv" ./build/bin
#
# cp "${{ env.ONEAPI_ROOT }}/dnnl/latest/bin/dnnl.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin
#
# cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/tcm.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/libhwloc-15.dll" ./build/bin
# cp "${{ env.ONEAPI_ROOT }}/umf/latest/bin/umf.dll" ./build/bin
#
# echo "cp oneAPI running time dll files to ./build/bin done"
# 7z a -snl llama-bin-win-sycl-x64.zip ./build/bin/*
#
# - name: Upload the release package
# uses: actions/upload-artifact@v6
# with:
# path: llama-bin-win-sycl-x64.zip
# name: llama-bin-win-sycl-x64.zip
runs-on: windows-2022 # TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
# in order to enable it again, we have to provision dedicated runners to run it
defaults: # ubuntu-24-sycl:
run: #
shell: bash # strategy:
# matrix:
env: # build: [fp32]
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b60765d1-2b85-4e85-86b6-cb0e9563a699/intel-deep-learning-essentials-2025.3.3.18_offline.exe # include:
WINDOWS_DPCPP_MKL: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.dnnl:intel.oneapi.win.tbb.devel # - build: fp32
LEVEL_ZERO_SDK_URL: https://github.com/oneapi-src/level-zero/releases/download/v1.28.2/level-zero-win-sdk-1.28.2.zip # fp16: OFF
ONEAPI_ROOT: "C:/Program Files (x86)/Intel/oneAPI" #
ONEAPI_INSTALLER_VERSION: "2025.3.3" # runs-on: ubuntu-24.04
#
steps: # env:
- name: Clone # ONEAPI_ROOT: /opt/intel/oneapi/
id: checkout # ONEAPI_INSTALLER_VERSION: "2025.3.3"
uses: actions/checkout@v6 # LEVEL_ZERO_VERSION: "1.28.2"
# LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
- name: Use oneAPI Installation Cache #
uses: actions/cache@v5 # steps:
id: cache-sycl # - name: Clone
with: # id: checkout
path: ${{ env.ONEAPI_ROOT }} # uses: actions/checkout@v6
key: oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }} # with:
# fetch-depth: 0
- name: Download & Install oneAPI #
shell: bash # - name: Use oneAPI Installation Cache
if: steps.cache-sycl.outputs.cache-hit != 'true' # uses: actions/cache@v5
run: | # id: cache-sycl
scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL # with:
# path: ${{ env.ONEAPI_ROOT }}
- name: Install Level Zero SDK # key: cache-gha-oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
shell: pwsh #
run: | # - name: Download & Install oneAPI
Invoke-WebRequest -Uri "${{ env.LEVEL_ZERO_SDK_URL }}" -OutFile "level-zero-win-sdk.zip" # shell: bash
Expand-Archive -Path "level-zero-win-sdk.zip" -DestinationPath "C:/level-zero-sdk" -Force # if: steps.cache-sycl.outputs.cache-hit != 'true'
"LEVEL_ZERO_V1_SDK_PATH=C:/level-zero-sdk" | Out-File -FilePath $env:GITHUB_ENV -Append # run: |
# cd /tmp
- name: Setup Node.js # wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
uses: actions/setup-node@v6 # sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
with: #
node-version: "24" # - name: Install Level Zero SDK
cache: "npm" # shell: bash
cache-dependency-path: "tools/ui/package-lock.json" # run: |
# cd /tmp
- name: ccache # wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
uses: ggml-org/ccache-action@v1.2.21 # wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
with: # sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
key: windows-latest-sycl #
variant: ccache # - name: Setup Node.js
evict-old-files: 1d # uses: actions/setup-node@v6
# with:
- name: Build # node-version: "24"
id: cmake_build # cache: "npm"
shell: cmd # cache-dependency-path: "tools/ui/package-lock.json"
run: | #
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force # - name: ccache
cmake -G "Ninja" -B build ^ # uses: ggml-org/ccache-action@v1.2.21
-DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx ^ # with:
-DCMAKE_BUILD_TYPE=Release ^ # key: ubuntu-24-sycl-${{ matrix.build }}
-DGGML_BACKEND_DL=ON -DBUILD_SHARED_LIBS=ON ^ # evict-old-files: 1d
-DGGML_CPU=OFF -DGGML_SYCL=ON ^ # save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-DLLAMA_BUILD_BORINGSSL=ON #
cmake --build build --target ggml-sycl -j # - name: Build
# id: cmake_build
- name: Build the release package # run: |
id: pack_artifacts # source /opt/intel/oneapi/setvars.sh
run: | # cmake -B build \
echo "cp oneAPI running time dll files in ${{ env.ONEAPI_ROOT }} to ./build/bin" # -G "Ninja" \
# -DCMAKE_BUILD_TYPE=Release \
cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_sycl_blas.5.dll" ./build/bin # -DGGML_SYCL=ON \
cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_core.2.dll" ./build/bin # -DCMAKE_C_COMPILER=icx \
cp "${{ env.ONEAPI_ROOT }}/mkl/latest/bin/mkl_tbb_thread.2.dll" ./build/bin # -DCMAKE_CXX_COMPILER=icpx \
# -DLLAMA_OPENSSL=OFF \
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero.dll" ./build/bin # -DGGML_NATIVE=OFF \
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_level_zero_v2.dll" ./build/bin # -DGGML_SYCL_F16=${{ matrix.fp16 }}
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_adapter_opencl.dll" ./build/bin # time cmake --build build --config Release -j $(nproc)
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_loader.dll" ./build/bin #
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/ur_win_proxy_loader.dll" ./build/bin # - name: Determine tag name
ZE_LOADER_DLL=$(find "${{ env.ONEAPI_ROOT }}" "$LEVEL_ZERO_V1_SDK_PATH" -iname ze_loader.dll -print -quit 2>/dev/null || true) # id: tag
if [ -n "$ZE_LOADER_DLL" ]; then # uses: ./.github/actions/get-tag-name
echo "Using Level Zero loader: $ZE_LOADER_DLL" #
cp "$ZE_LOADER_DLL" ./build/bin # - name: Pack artifacts
else # id: pack_artifacts
echo "Level Zero loader DLL not found in oneAPI or SDK; relying on system driver/runtime" # run: |
fi # cp LICENSE ./build/bin/
# tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin .
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl8.dll" ./build/bin #
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/svml_dispmd.dll" ./build/bin # - name: Upload artifacts
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libmmd.dll" ./build/bin # uses: actions/upload-artifact@v6
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libiomp5md.dll" ./build/bin # with:
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/sycl-ls.exe" ./build/bin # path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-fallback-bfloat16.spv" ./build/bin # name: llama-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
cp "${{ env.ONEAPI_ROOT }}/compiler/latest/bin/libsycl-native-bfloat16.spv" ./build/bin
cp "${{ env.ONEAPI_ROOT }}/dnnl/latest/bin/dnnl.dll" ./build/bin
cp "${{ env.ONEAPI_ROOT }}/tbb/latest/bin/tbb12.dll" ./build/bin
cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/tcm.dll" ./build/bin
cp "${{ env.ONEAPI_ROOT }}/tcm/latest/bin/libhwloc-15.dll" ./build/bin
cp "${{ env.ONEAPI_ROOT }}/umf/latest/bin/umf.dll" ./build/bin
echo "cp oneAPI running time dll files to ./build/bin done"
7z a -snl llama-bin-win-sycl-x64.zip ./build/bin/*
- name: Upload the release package
uses: actions/upload-artifact@v6
with:
path: llama-bin-win-sycl-x64.zip
name: llama-bin-win-sycl-x64.zip
ubuntu-24-sycl:
strategy:
matrix:
build: [fp32]
include:
- build: fp32
fp16: OFF
runs-on: ubuntu-24.04
env:
ONEAPI_ROOT: /opt/intel/oneapi/
ONEAPI_INSTALLER_VERSION: "2025.3.3"
LEVEL_ZERO_VERSION: "1.28.2"
LEVEL_ZERO_UBUNTU_VERSION: "u24.04"
steps:
- name: Clone
id: checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Use oneAPI Installation Cache
uses: actions/cache@v5
id: cache-sycl
with:
path: ${{ env.ONEAPI_ROOT }}
key: oneAPI-${{ env.ONEAPI_INSTALLER_VERSION }}-${{ runner.os }}
- name: Download & Install oneAPI
shell: bash
if: steps.cache-sycl.outputs.cache-hit != 'true'
run: |
cd /tmp
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56f7923a-adb8-43f3-8b02-2b60fcac8cab/intel-deep-learning-essentials-2025.3.3.16_offline.sh -O intel-deep-learning-essentials_offline.sh
sudo bash intel-deep-learning-essentials_offline.sh -s -a --silent --eula accept
- name: Install Level Zero SDK
shell: bash
run: |
cd /tmp
wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero.deb
wget -q "https://github.com/oneapi-src/level-zero/releases/download/v${LEVEL_ZERO_VERSION}/level-zero-devel_${LEVEL_ZERO_VERSION}%2B${LEVEL_ZERO_UBUNTU_VERSION}_amd64.deb" -O level-zero-devel.deb
sudo apt-get install -y ./level-zero.deb ./level-zero-devel.deb
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
cache-dependency-path: "tools/ui/package-lock.json"
- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: ubuntu-24-sycl-${{ matrix.build }}
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
- name: Build
id: cmake_build
run: |
source /opt/intel/oneapi/setvars.sh
cmake -B build \
-G "Ninja" \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_SYCL=ON \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icpx \
-DLLAMA_OPENSSL=OFF \
-DGGML_NATIVE=OFF \
-DGGML_SYCL_F16=${{ matrix.fp16 }}
time cmake --build build --config Release -j $(nproc)
- name: Determine tag name
id: tag
uses: ./.github/actions/get-tag-name
- name: Pack artifacts
id: pack_artifacts
run: |
cp LICENSE ./build/bin/
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin .
- name: Upload artifacts
uses: actions/upload-artifact@v6
with:
path: llama-${{ steps.tag.outputs.name }}-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
name: llama-bin-ubuntu-sycl-${{ matrix.build }}-x64.tar.gz
ubuntu-22-rocm: ubuntu-22-rocm:
@@ -1008,7 +1011,7 @@ jobs:
uses: actions/cache@v5 uses: actions/cache@v5
with: with:
path: C:\Program Files\AMD\ROCm path: C:\Program Files\AMD\ROCm
key: rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }} key: cache-gha-rocm-${{ env.HIPSDK_INSTALLER_VERSION }}-${{ runner.os }}
- name: ccache - name: ccache
uses: ggml-org/ccache-action@v1.2.21 uses: ggml-org/ccache-action@v1.2.21
@@ -1141,96 +1144,97 @@ jobs:
path: llama-${{ steps.tag.outputs.name }}-xcframework.zip path: llama-${{ steps.tag.outputs.name }}-xcframework.zip
name: llama-${{ steps.tag.outputs.name }}-xcframework.zip name: llama-${{ steps.tag.outputs.name }}-xcframework.zip
# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
openEuler-cann: # in order to enable it again, we have to provision dedicated runners to run it
strategy: # openEuler-cann:
matrix: # strategy:
include: # matrix:
# 910b with aclgraph (both architectures) # include:
- arch: x86 # # 910b with aclgraph (both architectures)
chip_type: '910b' # - arch: x86
build: 'Release' # chip_type: '910b'
use_acl_graph: 'on' # build: 'Release'
- arch: aarch64 # use_acl_graph: 'on'
chip_type: '910b' # - arch: aarch64
build: 'Release' # chip_type: '910b'
use_acl_graph: 'on' # build: 'Release'
# 310p without aclgraph (both architectures) # use_acl_graph: 'on'
- arch: x86 # # 310p without aclgraph (both architectures)
chip_type: '310p' # - arch: x86
build: 'Release' # chip_type: '310p'
use_acl_graph: 'off' # build: 'Release'
- arch: aarch64 # use_acl_graph: 'off'
chip_type: '310p' # - arch: aarch64
build: 'Release' # chip_type: '310p'
use_acl_graph: 'off' # build: 'Release'
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} # use_acl_graph: 'off'
steps: # runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
- name: Checkout # steps:
uses: actions/checkout@v6 # - name: Checkout
with: # uses: actions/checkout@v6
fetch-depth: 0 # with:
# fetch-depth: 0
- name: Free up disk space #
uses: ggml-org/free-disk-space@v1.3.1 # - name: Free up disk space
with: # uses: ggml-org/free-disk-space@v1.3.1
tool-cache: true # with:
# tool-cache: true
- name: Set container image #
id: cann-image # - name: Set container image
run: | # id: cann-image
image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}" # run: |
echo "image=${image}" >> "${GITHUB_OUTPUT}" # image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}"
# echo "image=${image}" >> "${GITHUB_OUTPUT}"
- name: Pull container image #
run: docker pull "${{ steps.cann-image.outputs.image }}" # - name: Pull container image
# run: docker pull "${{ steps.cann-image.outputs.image }}"
- name: Build #
env: # - name: Build
BUILD_TYPE: ${{ matrix.build }} # env:
SOC_TYPE: ascend${{ matrix.chip_type }} # BUILD_TYPE: ${{ matrix.build }}
USE_ACL_GRAPH: ${{ matrix.use_acl_graph }} # SOC_TYPE: ascend${{ matrix.chip_type }}
run: | # USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
HOST_UID=$(id -u) # run: |
HOST_GID=$(id -g) # HOST_UID=$(id -u)
# HOST_GID=$(id -g)
docker run --rm \ #
-v "${PWD}:/workspace" \ # docker run --rm \
-w /workspace \ # -v "${PWD}:/workspace" \
-e SOC_TYPE=${SOC_TYPE} \ # -w /workspace \
-e BUILD_TYPE=${BUILD_TYPE} \ # -e SOC_TYPE=${SOC_TYPE} \
-e USE_ACL_GRAPH=${USE_ACL_GRAPH} \ # -e BUILD_TYPE=${BUILD_TYPE} \
"${{ steps.cann-image.outputs.image }}" \ # -e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
bash -lc ' # "${{ steps.cann-image.outputs.image }}" \
set -e # bash -lc '
yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel # set -e
yum clean all && rm -rf /var/cache/yum # yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel
git config --global --add safe.directory "/workspace" # yum clean all && rm -rf /var/cache/yum
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH} # git config --global --add safe.directory "/workspace"
cmake -S . -B build \ # export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ # cmake -S . -B build \
-DGGML_CANN=on \ # -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DSOC_TYPE=${SOC_TYPE} \ # -DGGML_CANN=on \
-DUSE_ACL_GRAPH=${USE_ACL_GRAPH} # -DSOC_TYPE=${SOC_TYPE} \
cmake --build build -j $(nproc) # -DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
# cmake --build build -j $(nproc)
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build #
' # chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
# '
- name: Determine tag name #
id: tag # - name: Determine tag name
uses: ./.github/actions/get-tag-name # id: tag
# uses: ./.github/actions/get-tag-name
- name: Pack artifacts #
run: | # - name: Pack artifacts
cp LICENSE ./build/bin/ # run: |
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin . # cp LICENSE ./build/bin/
# tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz --transform "s,^\.,llama-${{ steps.tag.outputs.name }}," -C ./build/bin .
- name: Upload artifacts #
uses: actions/upload-artifact@v6 # - name: Upload artifacts
with: # uses: actions/upload-artifact@v6
path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz # with:
name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz # path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz
# name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz
ui-build: ui-build:
uses: ./.github/workflows/ui-build.yml uses: ./.github/workflows/ui-build.yml
@@ -1249,17 +1253,17 @@ jobs:
- windows - windows
- windows-cpu - windows-cpu
- windows-cuda - windows-cuda
- windows-sycl #- windows-sycl
- windows-hip - windows-hip
- ubuntu-22-rocm - ubuntu-22-rocm
- ubuntu-cpu - ubuntu-cpu
- ubuntu-vulkan - ubuntu-vulkan
- ubuntu-24-openvino - ubuntu-24-openvino
- ubuntu-24-sycl #- ubuntu-24-sycl
- android-arm64 - android-arm64
- macOS-cpu - macOS-cpu
- ios-xcode-build - ios-xcode-build
- openEuler-cann #- openEuler-cann
- ui-build - ui-build
outputs: outputs:
@@ -1360,7 +1364,7 @@ jobs:
- [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 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 (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) [DISABLED](https://github.com/ggml-org/llama.cpp/pull/23705)
**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)
@@ -1371,14 +1375,15 @@ jobs:
- [Windows x64 (CUDA 12)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cuda-12.4-x64.zip) - [CUDA 12.4 DLLs](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/cudart-llama-bin-win-cuda-12.4-x64.zip) - [Windows x64 (CUDA 12)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cuda-12.4-x64.zip) - [CUDA 12.4 DLLs](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/cudart-llama-bin-win-cuda-12.4-x64.zip)
- [Windows x64 (CUDA 13)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cuda-13.1-x64.zip) - [CUDA 13.1 DLLs](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/cudart-llama-bin-win-cuda-13.1-x64.zip) - [Windows x64 (CUDA 13)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cuda-13.1-x64.zip) - [CUDA 13.1 DLLs](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/cudart-llama-bin-win-cuda-13.1-x64.zip)
- [Windows x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-vulkan-x64.zip) - [Windows x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-vulkan-x64.zip)
- [Windows x64 (SYCL)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-sycl-x64.zip) - Windows x64 (SYCL) [DISABLED](https://github.com/ggml-org/llama.cpp/pull/23705)
- [Windows x64 (HIP)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-hip-radeon-x64.zip) - [Windows x64 (HIP)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-hip-radeon-x64.zip)
**openEuler:** **openEuler:**
- [openEuler x86 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-x86.tar.gz) - [DISABLED](https://github.com/ggml-org/llama.cpp/pull/23705)
- [openEuler x86 (910b, ACL Graph)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-x86-aclgraph.tar.gz) - openEuler x86 (310p)
- [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz) - openEuler x86 (910b, ACL Graph)
- [openEuler aarch64 (910b, ACL Graph)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64-aclgraph.tar.gz) - openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
**UI:** **UI:**
- [UI](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-ui.tar.gz) - [UI](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-ui.tar.gz)