mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-06-26 06:10:19 +00:00
105 lines
3.2 KiB
YAML
105 lines
3.2 KiB
YAML
name: CI (cann)
|
|
|
|
on:
|
|
workflow_dispatch: # allows manual triggering
|
|
push:
|
|
branches:
|
|
- master
|
|
paths: [
|
|
'.github/workflows/build-cann.yml',
|
|
'**/CMakeLists.txt',
|
|
'**/.cmake',
|
|
'**/*.h',
|
|
'**/*.hpp',
|
|
'**/*.c',
|
|
'**/*.cpp'
|
|
]
|
|
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
paths: [
|
|
'.github/workflows/build-cann.yml',
|
|
'ggml/src/ggml-cann/**'
|
|
]
|
|
|
|
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_ARG_LOG_COLORS: 1
|
|
LLAMA_ARG_LOG_PREFIX: 1
|
|
LLAMA_ARG_LOG_TIMESTAMPS: 1
|
|
|
|
jobs:
|
|
# 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
|
|
# openEuler-latest-cann:
|
|
# defaults:
|
|
# run:
|
|
# shell: bash -el {0}
|
|
# strategy:
|
|
# matrix:
|
|
# arch: [x86, aarch64]
|
|
# chip_type: ['910b', '310p']
|
|
# build: ['Release']
|
|
# use_acl_graph: ['on', 'off']
|
|
# exclude:
|
|
# # 310P does not support USE_ACL_GRAPH=on
|
|
# - chip_type: '310p'
|
|
# use_acl_graph: 'on'
|
|
# runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v6
|
|
# with:
|
|
# fetch-depth: 0
|
|
#
|
|
# - name: Free up disk space
|
|
# uses: ggml-org/free-disk-space@v1.3.1
|
|
# with:
|
|
# tool-cache: true
|
|
#
|
|
# - name: Set container image
|
|
# id: cann-image
|
|
# run: |
|
|
# 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: Build
|
|
# env:
|
|
# BUILD_TYPE: ${{ matrix.build }}
|
|
# SOC_TYPE: ascend${{ matrix.chip_type }}
|
|
# USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
|
|
# run: |
|
|
# HOST_UID=$(id -u)
|
|
# HOST_GID=$(id -g)
|
|
#
|
|
# docker run --rm \
|
|
# -v "${PWD}:/workspace" \
|
|
# -w /workspace \
|
|
# -e SOC_TYPE=${SOC_TYPE} \
|
|
# -e BUILD_TYPE=${BUILD_TYPE} \
|
|
# -e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
|
|
# "${{ steps.cann-image.outputs.image }}" \
|
|
# bash -lc '
|
|
# set -e
|
|
# yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel
|
|
# yum clean all && rm -rf /var/cache/yum
|
|
# git config --global --add safe.directory "/workspace"
|
|
# export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
|
|
# cmake -S . -B build \
|
|
# -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
|
# -DGGML_CANN=on \
|
|
# -DSOC_TYPE=${SOC_TYPE} \
|
|
# -DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
|
|
# cmake --build build -j $(nproc)
|
|
#
|
|
# chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
|
|
# '
|