From e32da6f163308b8b23f93bb56de0d1e13a902509 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Fri, 8 Nov 2024 17:13:54 +0800 Subject: [PATCH 01/12] CANN: Add Ascend CANN build ci --- .github/workflows/build.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 02dcee9634f46..16a52a3cc3cf1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1387,3 +1387,33 @@ jobs: # popd # emcmake cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} # make + + openEuler-latest-cmake-cann: + runs-on: ubuntu-latest + + strategy: + matrix: + cann: ['python3.9-cann8.0.rc2.beta1'] + build: ['Release'] + + container: + image: ascendai/cann:openeuler-${{ matrix.cann }} + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Dependencies + id: depends + run: | + yum update -y + yum install cmake gcc gcc-c++ make -y + + - name: Build + id: cmake-build + run: | + mkdir build + cd build + cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DWITH_CANN=on + cmake --build . -j $(nproc) From 10b5b2b3fcfa55346dad56bc768d7dd212a73bc2 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Thu, 16 Jan 2025 10:38:24 +0800 Subject: [PATCH 02/12] Update build.yml --- .github/workflows/build.yml | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e59cf9ab4f370..5e6aa62bbeb32 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1465,25 +1465,24 @@ jobs: matrix: cann: ['python3.9-cann8.0.rc2.beta1'] build: ['Release'] - - container: - image: ascendai/cann:openeuler-${{ matrix.cann }} + device: ['ascend910b3'] steps: - - name: Clone - id: checkout - uses: actions/checkout@v4 + - name: Clone + id: checkout + uses: actions/checkout@v4 - - name: Dependencies - id: depends + - name: Dependencies & Build + uses: uraimo/run-on-arch-action@v2 + with: + arch: aarch64 + distro: ubuntu22.04 + base_image: --platform=linux/arm64 ascendai/cann:openeuler-${{ matrix.cann }} run: | yum update -y - yum install cmake gcc gcc-c++ make -y + yum install git cmake gcc gcc-c++ make -y + export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/devlib/:${LD_LIBRARY_PATH} - - name: Build - id: cmake-build - run: | - mkdir build - cd build - cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DWITH_CANN=on - cmake --build . -j $(nproc) + cd llama.cpp + cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_CANN=on -DGGML_NATIVE=OFF -DSOC_TYPE=${{ matrix.device }} + cmake --build build From 91dcd6301c488dce587e5f4d2c9b8929a24c5fc7 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Thu, 16 Jan 2025 11:16:14 +0800 Subject: [PATCH 03/12] Modify cann image version --- .github/workflows/build.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5e6aa62bbeb32..d33e6deacc1a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1463,7 +1463,7 @@ jobs: strategy: matrix: - cann: ['python3.9-cann8.0.rc2.beta1'] + cann: ['openeuler-python3.10-cann8.0.rc3.beta1'] build: ['Release'] device: ['ascend910b3'] @@ -1477,12 +1477,13 @@ jobs: with: arch: aarch64 distro: ubuntu22.04 - base_image: --platform=linux/arm64 ascendai/cann:openeuler-${{ matrix.cann }} + base_image: --platform=linux/arm64 ascendai/cann:${{ matrix.cann }} run: | yum update -y yum install git cmake gcc gcc-c++ make -y export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/devlib/:${LD_LIBRARY_PATH} - cd llama.cpp - cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_CANN=on -DGGML_NATIVE=OFF -DSOC_TYPE=${{ matrix.device }} - cmake --build build + mkdir build + cd build + cmake -B .. -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_CANN=on -DGGML_NATIVE=OFF -DSOC_TYPE=${{ matrix.device }} + cmake --build . From aa11846752f4bcadd79d0eda6eb0e49e8ab0f39b Mon Sep 17 00:00:00 2001 From: jiahao su Date: Thu, 16 Jan 2025 14:19:38 +0800 Subject: [PATCH 04/12] Update build.yml --- .github/workflows/build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d33e6deacc1a2..30de2b9c57c8e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1485,5 +1485,9 @@ jobs: mkdir build cd build - cmake -B .. -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DGGML_CANN=on -DGGML_NATIVE=OFF -DSOC_TYPE=${{ matrix.device }} + cmake .. \ + -DCMAKE_BUILD_TYPE=${{ matrix.build }}\ + -DGGML_CANN=on\ + -DGGML_NATIVE=OFF\ + -DSOC_TYPE=${{ matrix.device }} cmake --build . From 25c912ac1103b08b242c4359104d5beb97544e67 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Mon, 20 Jan 2025 17:14:53 +0800 Subject: [PATCH 05/12] Change to run on x86 system --- .github/workflows/build.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30de2b9c57c8e..a43d538547c7a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1466,28 +1466,25 @@ jobs: cann: ['openeuler-python3.10-cann8.0.rc3.beta1'] build: ['Release'] device: ['ascend910b3'] - + container: + image: ascendai/cann:${{ matrix.cann }} steps: - name: Clone id: checkout uses: actions/checkout@v4 - - name: Dependencies & Build - uses: uraimo/run-on-arch-action@v2 - with: - arch: aarch64 - distro: ubuntu22.04 - base_image: --platform=linux/arm64 ascendai/cann:${{ matrix.cann }} - run: | + - name: Dependencies + run: | yum update -y yum install git cmake gcc gcc-c++ make -y - export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/devlib/:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} + - name: Build + run: | mkdir build cd build cmake .. \ -DCMAKE_BUILD_TYPE=${{ matrix.build }}\ -DGGML_CANN=on\ - -DGGML_NATIVE=OFF\ -DSOC_TYPE=${{ matrix.device }} - cmake --build . + cmake --build . -j $(nproc) From c85ae089225fdd570fc09a4c0c6a4a936f772113 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Mon, 20 Jan 2025 18:37:14 +0800 Subject: [PATCH 06/12] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a43d538547c7a..658c285e0b495 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1477,6 +1477,7 @@ jobs: run: | yum update -y yum install git cmake gcc gcc-c++ make -y + . /usr/local/Ascend/ascend-toolkit/set_env.sh export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} - name: Build From 7be066764f42a5e92c169cdb7ec48b8bd203fbcc Mon Sep 17 00:00:00 2001 From: jiahao su Date: Mon, 20 Jan 2025 19:30:56 +0800 Subject: [PATCH 07/12] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 658c285e0b495..6e58ea680f37b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1477,11 +1477,11 @@ jobs: run: | yum update -y yum install git cmake gcc gcc-c++ make -y - . /usr/local/Ascend/ascend-toolkit/set_env.sh - export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} - name: Build run: | + . /usr/local/Ascend/ascend-toolkit/set_env.sh + export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} mkdir build cd build cmake .. \ From 3b2c8acfabb4a8ff62ee7c619851059525cae711 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Mon, 20 Jan 2025 19:40:15 +0800 Subject: [PATCH 08/12] Modify format error --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e58ea680f37b..d81b1a6fe4120 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1481,7 +1481,7 @@ jobs: - name: Build run: | . /usr/local/Ascend/ascend-toolkit/set_env.sh - export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} mkdir build cd build cmake .. \ From e762c0eb1d29ae4098f6247239ea961e02f456f5 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Mon, 20 Jan 2025 20:33:48 +0800 Subject: [PATCH 09/12] Update build.yml --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d81b1a6fe4120..d9667bff430dd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1459,6 +1459,9 @@ jobs: # make openEuler-latest-cmake-cann: + defaults: + run: + shell: bash -el {0} runs-on: ubuntu-latest strategy: @@ -1480,7 +1483,6 @@ jobs: - name: Build run: | - . /usr/local/Ascend/ascend-toolkit/set_env.sh export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} mkdir build cd build From 49e0d99bb191e6d1c7cad2ee6592bed686f869b9 Mon Sep 17 00:00:00 2001 From: jiahao su Date: Tue, 21 Jan 2025 19:12:13 +0800 Subject: [PATCH 10/12] Add 'Ascend NPU' label restrictions --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9667bff430dd..dc1e606d4d5f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1459,6 +1459,7 @@ jobs: # make openEuler-latest-cmake-cann: + if: contains(github.event.pull_request.labels.*.name, 'Ascend NPU') defaults: run: shell: bash -el {0} @@ -1466,8 +1467,8 @@ jobs: strategy: matrix: - cann: ['openeuler-python3.10-cann8.0.rc3.beta1'] build: ['Release'] + cann: ['openeuler-python3.10-cann8.0.rc3.beta1'] device: ['ascend910b3'] container: image: ascendai/cann:${{ matrix.cann }} From 6fa26b6a2001cf12f7da631a1cdef8ac62582b4f Mon Sep 17 00:00:00 2001 From: jiahao su Date: Wed, 22 Jan 2025 10:25:36 +0800 Subject: [PATCH 11/12] Exclude non PR event Co-authored-by: Yuanhao Ji --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dc1e606d4d5f1..f545c78f1d6b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1459,7 +1459,7 @@ jobs: # make openEuler-latest-cmake-cann: - if: contains(github.event.pull_request.labels.*.name, 'Ascend NPU') + if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'Ascend NPU') }} defaults: run: shell: bash -el {0} From 7620e4023ccd5976751631c3dc6dfa28140d53db Mon Sep 17 00:00:00 2001 From: jiahao su Date: Fri, 24 Jan 2025 10:31:51 +0800 Subject: [PATCH 12/12] Update build.yml --- .github/workflows/build.yml | 45 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f545c78f1d6b6..499bb599045fc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1463,32 +1463,31 @@ jobs: defaults: run: shell: bash -el {0} - runs-on: ubuntu-latest - + runs-on: ubuntu-24.04-arm strategy: matrix: - build: ['Release'] - cann: ['openeuler-python3.10-cann8.0.rc3.beta1'] - device: ['ascend910b3'] - container: - image: ascendai/cann:${{ matrix.cann }} + cann: + - '8.0.rc3.beta1-910b-openeuler22.03-py3.10' + device: + - 'ascend910b3' + build: + - 'Release' + container: ascendai/cann:${{ matrix.cann }} steps: - - name: Clone - id: checkout - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - - name: Dependencies - run: | + - name: Dependencies + run: | yum update -y - yum install git cmake gcc gcc-c++ make -y + yum install -y git gcc gcc-c++ make cmake - - name: Build - run: | - export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:${LD_LIBRARY_PATH} - mkdir build - cd build - cmake .. \ - -DCMAKE_BUILD_TYPE=${{ matrix.build }}\ - -DGGML_CANN=on\ - -DSOC_TYPE=${{ matrix.device }} - cmake --build . -j $(nproc) + - 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=${{ matrix.device }} + cmake --build build -j $(nproc)