CANN: Add openEuler-cann in build and release (#17192)

Update openEuler version

Remove variable ASCEND_SOC_TYPE

Modify the chip type

Fix case in zip filename

Change "device" to "chip_type"

Modify the value of chip_type
This commit is contained in:
jiahao su
2025-11-18 16:08:55 +08:00
committed by GitHub
parent da95bf2a85
commit ffa277a54c
3 changed files with 56 additions and 10 deletions

View File

@@ -3,7 +3,8 @@
# ============================================================================== # ==============================================================================
# Define the CANN base image for easier version updates later # Define the CANN base image for easier version updates later
ARG CANN_BASE_IMAGE=quay.io/ascend/cann:8.1.rc1-910b-openeuler22.03-py3.10 ARG CHIP_TYPE=910b
ARG CANN_BASE_IMAGE=quay.io/ascend/cann:8.3.rc1.alpha001-${CHIP_TYPE}-openeuler22.03-py3.11
# ============================================================================== # ==============================================================================
# BUILD STAGE # BUILD STAGE
@@ -11,9 +12,6 @@ ARG CANN_BASE_IMAGE=quay.io/ascend/cann:8.1.rc1-910b-openeuler22.03-py3.10
# ============================================================================== # ==============================================================================
FROM ${CANN_BASE_IMAGE} AS build FROM ${CANN_BASE_IMAGE} AS build
# Define the Ascend chip model for compilation. Default is Ascend910B3
ARG ASCEND_SOC_TYPE=Ascend910B3
# -- Install build dependencies -- # -- Install build dependencies --
RUN yum install -y gcc g++ cmake make git libcurl-devel python3 python3-pip && \ RUN yum install -y gcc g++ cmake make git libcurl-devel python3 python3-pip && \
yum clean all && \ yum clean all && \
@@ -36,13 +34,14 @@ ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/runtime/lib64/stub:$LD_LIBRARY_PATH
# For brevity, only core variables are listed here. You can paste the original ENV list here. # For brevity, only core variables are listed here. You can paste the original ENV list here.
# -- Build llama.cpp -- # -- Build llama.cpp --
# Use the passed ASCEND_SOC_TYPE argument and add general build options # Use the passed CHIP_TYPE argument and add general build options
ARG CHIP_TYPE
RUN source /usr/local/Ascend/ascend-toolkit/set_env.sh --force \ RUN source /usr/local/Ascend/ascend-toolkit/set_env.sh --force \
&& \ && \
cmake -B build \ cmake -B build \
-DGGML_CANN=ON \ -DGGML_CANN=ON \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DSOC_TYPE=${ASCEND_SOC_TYPE} \ -DSOC_TYPE=ascend${CHIP_TYPE} \
. && \ . && \
cmake --build build --config Release -j$(nproc) cmake --build build --config Release -j$(nproc)

View File

@@ -1391,9 +1391,9 @@ jobs:
matrix: matrix:
arch: [x86, aarch64] arch: [x86, aarch64]
cann: cann:
- '8.1.RC1.alpha001-910b-openeuler22.03-py3.10' - '8.3.rc1.alpha001-910b-openeuler22.03-py3.11'
device: chip_type:
- 'ascend910b3' - '910b'
build: build:
- 'Release' - 'Release'
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
@@ -1414,7 +1414,7 @@ jobs:
cmake -S . -B build \ cmake -S . -B build \
-DCMAKE_BUILD_TYPE=${{ matrix.build }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build }} \
-DGGML_CANN=on \ -DGGML_CANN=on \
-DSOC_TYPE=${{ matrix.device }} -DSOC_TYPE=ascend${{ matrix.chip_type }}
cmake --build build -j $(nproc) cmake --build build -j $(nproc)
# TODO: simplify the following workflows using a matrix # TODO: simplify the following workflows using a matrix

View File

@@ -693,6 +693,52 @@ jobs:
path: llama-${{ steps.tag.outputs.name }}-xcframework.zip path: llama-${{ steps.tag.outputs.name }}-xcframework.zip
name: llama-${{ steps.tag.outputs.name }}-xcframework name: llama-${{ steps.tag.outputs.name }}-xcframework
openEuler-cann:
strategy:
matrix:
arch: [x86, aarch64]
chip_type: ['910b', '310p']
build:
- 'Release'
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
container: ascendai/cann:${{ matrix.chip_type == '910b' && '8.3.rc1.alpha001-910b-openeuler22.03-py3.11' || '8.3.rc1.alpha001-310p-openeuler22.03-py3.11' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Dependencies
run: |
yum update -y
yum install -y git gcc gcc-c++ make cmake libcurl-devel
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Build
run: |
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=${{ matrix.build }} \
-DGGML_CANN=on \
-DSOC_TYPE=ascend${{ matrix.chip_type }}
cmake --build build -j $(nproc)
- name: Determine tag name
id: tag
uses: ./.github/actions/get-tag-name
- name: Pack artifacts
run: |
cp LICENSE ./build/bin/
zip -r llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip ./build/bin/*
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip
name: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}
release: release:
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }} if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
@@ -714,6 +760,7 @@ jobs:
- macOS-arm64 - macOS-arm64
- macOS-x64 - macOS-x64
- ios-xcode-build - ios-xcode-build
- openEuler-cann
steps: steps:
- name: Clone - name: Clone