From e3e939a02533e6d044719657881c35dbbf212800 Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Wed, 26 Nov 2025 19:44:02 +0800 Subject: [PATCH 1/7] ci tests --- .github/workflows/_IXUCA.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_IXUCA.yml b/.github/workflows/_IXUCA.yml index 461f17decf..8b5cdc4b1a 100644 --- a/.github/workflows/_IXUCA.yml +++ b/.github/workflows/_IXUCA.yml @@ -20,7 +20,7 @@ jobs: name: PR-CI-IXUCA if: ${{ github.repository_owner == 'PaddlePaddle' }} runs-on: - group: test2 + group: iluvatar env: PR_ID: ${{ github.event.pull_request.number }} COMMIT_ID: ${{ github.event.pull_request.head.sha }} From 9efc692c16e3ea430accd158ffc4f0a6ed54773c Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Thu, 27 Nov 2025 19:47:24 +0800 Subject: [PATCH 2/7] yml test --- .github/workflows/_IXUCA.yml | 106 ++++++++++++----------------------- 1 file changed, 35 insertions(+), 71 deletions(-) diff --git a/.github/workflows/_IXUCA.yml b/.github/workflows/_IXUCA.yml index 8b5cdc4b1a..a1dafee0f7 100644 --- a/.github/workflows/_IXUCA.yml +++ b/.github/workflows/_IXUCA.yml @@ -16,9 +16,19 @@ on: default: 'true' jobs: - PR-CI-HPU: + check-bypass: + name: Check bypass + if: ${{ inputs.can-skip != 'true' }} + uses: ./.github/workflows/check-bypass.yml + with: + workflow-name: 'iluvatar' + secrets: + github-token: ${{ secrets.GITHUB_TOKEN }} + + PR-CI-IXUCA: name: PR-CI-IXUCA - if: ${{ github.repository_owner == 'PaddlePaddle' }} + needs: check-bypass + if: ${{ needs.check-bypass.outputs.can-skip != 'true' && github.repository_owner == 'PaddlePaddle' }} runs-on: group: iluvatar env: @@ -29,37 +39,8 @@ jobs: no_proxy: "bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" steps: - - name: Check docker image and run container - env: - GIT_PR_ID: ${{ github.event.pull_request.number || '0' }} - GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - RUN_ID: ${{ github.run_id }} - cache_dir: /root/.cache - ccache_dir: /root/.ccache - docker_image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:latest - run: | - container_name=${TASK}-$(date +%Y%m%d-%H%M%S) - echo "container_name=${container_name}" >> ${{ github.env }} - docker run --shm-size=128G \ - -d -t --name ${container_name} \ - --privileged --network=host \ - -e PR_ID \ - -e COMMIT_ID \ - -e BRANCH \ - -e no_proxy \ - -e LD_LIBRARY_PATH=/usr/local/corex-4.3.0/lib \ - -e LIBRARY_PATH=/usr/local/corex-4.3.0/lib \ - -v ${cache_dir}:/root/.cache \ - -v ${ccache_dir}:/root/.ccache \ - -v ${{ github.workspace }}/../../..:${{ github.workspace }}/../../.. \ - -v ${{ github.workspace }}:/workspace -w /workspace \ - ${docker_image} /bin/bash - - name: Download Code run: | - docker exec -t ${{ env.container_name }} /bin/bash -c ' - rm -rf /workspace/* /workspace/.[^.]* 2>/dev/null || true - source ${{ github.workspace }}/../../../proxy set -x wget -q --tries=5 --no-proxy https://paddle-github-action.bj.bcebos.com/PaddleCustomDevice/PR/${PR_ID}/${COMMIT_ID}/PaddleCustomDevice.tar.gz --no-check-certificate echo "Extracting PaddleCustomDevice.tar.gz" @@ -68,14 +49,7 @@ jobs: git config --global --add safe.directory "*" git remote add upstream https://github.com/PaddlePaddle/PaddleCustomDevice.git git merge ${BRANCH} --no-edit - git --no-pager log --pretty=oneline -5' - - - name: Check bypass - id: check-bypass - uses: ./PaddleCustomDevice/.github/actions/check-bypass - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - workflow-name: ixuca + git --no-pager log --pretty=oneline -5 - name: RUN IXUCA id: run-ixuca @@ -83,66 +57,56 @@ jobs: run: | echo "=========== Checking PR Changes If IXUCA FULL CI Needed ===========" - should_skip=$(docker exec -t ${{ env.container_name }} /bin/bash -c ' - cd /workspace/PaddleCustomDevice + cd PaddleCustomDevice - change_numbers=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | wc -l) - change_backend=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | grep "backends/" | wc -l) - change_ixuca_only=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | grep "backends/iluvatar_gpu" | wc -l) + change_numbers=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | wc -l) + change_backend=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | grep "backends/" | wc -l) + change_ixuca_only=$(git --no-pager diff --name-only remotes/origin/${BRANCH} | grep "backends/iluvatar_gpu" | wc -l) - echo "Changed files:" - git --no-pager diff --name-only remotes/origin/${BRANCH} + echo "Changed files:" + git --no-pager diff --name-only remotes/origin/${BRANCH} - if [ $change_numbers -ne $change_backend ]; then - echo "Common file changed, continue to run IXUCA FULL CI test ..." - echo false - elif [ $change_ixuca_only -eq 0 ]; then - echo "NO IXUCA backend changes found, skip IXUCA FULL CI ...." - echo true - else - echo "IXUCA backend changed, run FULL CI ..." - echo false - fi - ' | tail -n 1 | tr -d '\r') + should_skip="false" + if [ $change_numbers -ne $change_backend ]; then + echo "Common file changed, continue to run IXUCA FULL CI test ..." + elif [ $change_ixuca_only -eq 0 ]; then + echo "NO IXUCA backend changes found, skip IXUCA FULL CI ...." + should_skip="true" + else + echo "IXUCA backend changed, run FULL CI ..." + fi - echo "should_skip from docker = $should_skip" echo "should_skip=$should_skip" >> $GITHUB_OUTPUT - name: Build and Install paddle_iluvatar_gpu if: steps.check-bypass.outputs.can-skip != 'true' && steps.run-ixuca.outputs.should_skip != 'true' run: | - docker exec -t ${{ env.container_name }} /bin/bash -c ' export PATH=/usr/local/corex-4.3.0/bin:$PATH - mkdir -p /workspace/PaddleCustomDevice/Paddle/third_party/mklml/Linux - curl -o /workspace/PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz http://paddlepaddledeps.bj.bcebos.com/csrmm_mklml_lnx_2019.0.5.tgz - tar xf /workspace/PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz + mkdir -p PaddleCustomDevice/Paddle/third_party/mklml/Linux + curl -o PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz http://paddlepaddledeps.bj.bcebos.com/csrmm_mklml_lnx_2019.0.5.tgz + tar xf PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz python3 -m pip install --pre paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu/ pip show paddlepaddle python3 -m pip install parameterized export PADDLE_VERSION=0.0.0 - cd /workspace/PaddleCustomDevice/backends/iluvatar_gpu + cd PaddleCustomDevice/backends/iluvatar_gpu # build bash build_paddle.sh # Install - bash install_paddle.sh' + bash install_paddle.sh - name: Run Tests if: steps.check-bypass.outputs.can-skip != 'true' && steps.run-ixuca.outputs.should_skip != 'true' run: | - docker exec -t ${{ env.container_name }} /bin/bash -c ' pip show parameterized python3 -m pip install parameterized export FLAG_SKIP_FLOAT64=1 - cd /workspace/PaddleCustomDevice/backends/iluvatar_gpu/tests + cd PaddleCustomDevice/backends/iluvatar_gpu/tests # Run tests - bash run_test.sh' + bash run_test.sh - name: Terminate and delete the container if: always() run: | - docker exec -t ${{ env.container_name }} /bin/bash -c ' rm -rf * .[^.]* chmod -R 777 . || true - ' - docker stop ${container_name} - docker rm ${container_name} From 1da70308975c558d20d6b6e6bb374995e8d83103 Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Thu, 27 Nov 2025 20:04:35 +0800 Subject: [PATCH 3/7] yml test --- .github/workflows/_IXUCA.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/_IXUCA.yml b/.github/workflows/_IXUCA.yml index a1dafee0f7..83113c7888 100644 --- a/.github/workflows/_IXUCA.yml +++ b/.github/workflows/_IXUCA.yml @@ -31,12 +31,16 @@ jobs: if: ${{ needs.check-bypass.outputs.can-skip != 'true' && github.repository_owner == 'PaddlePaddle' }} runs-on: group: iluvatar - env: - PR_ID: ${{ github.event.pull_request.number }} - COMMIT_ID: ${{ github.event.pull_request.head.sha }} - BRANCH: develop - TASK: paddle-CI-${{ github.event.pull_request.number }}-ixuca - no_proxy: "bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" + container: + image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:latest + env: + LD_LIBRARY_PATH: /usr/local/corex-4.3.0/lib + LIBRARY_PATH: /usr/local/corex-4.3.0/lib + PR_ID: ${{ github.event.pull_request.number }} + COMMIT_ID: ${{ github.event.pull_request.head.sha }} + BRANCH: develop + TASK: paddle-CI-${{ github.event.pull_request.number }}-ixuca + no_proxy: "bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" steps: - name: Download Code From 30968ad2ba7b4dad4117cd894addfe1e9b5d1a23 Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Thu, 27 Nov 2025 20:39:07 +0800 Subject: [PATCH 4/7] yml test --- .github/workflows/_IXUCA.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/_IXUCA.yml b/.github/workflows/_IXUCA.yml index 83113c7888..e694f5857a 100644 --- a/.github/workflows/_IXUCA.yml +++ b/.github/workflows/_IXUCA.yml @@ -29,18 +29,18 @@ jobs: name: PR-CI-IXUCA needs: check-bypass if: ${{ needs.check-bypass.outputs.can-skip != 'true' && github.repository_owner == 'PaddlePaddle' }} - runs-on: - group: iluvatar + runs-on: iluvatar-gpu-2 container: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:latest env: LD_LIBRARY_PATH: /usr/local/corex-4.3.0/lib LIBRARY_PATH: /usr/local/corex-4.3.0/lib - PR_ID: ${{ github.event.pull_request.number }} - COMMIT_ID: ${{ github.event.pull_request.head.sha }} - BRANCH: develop - TASK: paddle-CI-${{ github.event.pull_request.number }}-ixuca - no_proxy: "bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" + env: + PR_ID: ${{ github.event.pull_request.number }} + COMMIT_ID: ${{ github.event.pull_request.head.sha }} + BRANCH: develop + TASK: paddle-CI-${{ github.event.pull_request.number }}-ixuca + no_proxy: "bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" steps: - name: Download Code From afdd28a5486043b3ef7b98fb381fe61e66dd3c2b Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Fri, 12 Dec 2025 17:09:01 +0800 Subject: [PATCH 5/7] update yml --- .github/workflows/_IXUCA.yml | 6 +++--- backends/iluvatar_gpu/build_paddle.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/_IXUCA.yml b/.github/workflows/_IXUCA.yml index e694f5857a..4969ca7b45 100644 --- a/.github/workflows/_IXUCA.yml +++ b/.github/workflows/_IXUCA.yml @@ -33,8 +33,8 @@ jobs: container: image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:latest env: - LD_LIBRARY_PATH: /usr/local/corex-4.3.0/lib - LIBRARY_PATH: /usr/local/corex-4.3.0/lib + LD_LIBRARY_PATH: /usr/local/corex/lib + LIBRARY_PATH: /usr/local/corex/lib env: PR_ID: ${{ github.event.pull_request.number }} COMMIT_ID: ${{ github.event.pull_request.head.sha }} @@ -85,7 +85,7 @@ jobs: - name: Build and Install paddle_iluvatar_gpu if: steps.check-bypass.outputs.can-skip != 'true' && steps.run-ixuca.outputs.should_skip != 'true' run: | - export PATH=/usr/local/corex-4.3.0/bin:$PATH + export PATH=/usr/local/corex/bin:$PATH mkdir -p PaddleCustomDevice/Paddle/third_party/mklml/Linux curl -o PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz http://paddlepaddledeps.bj.bcebos.com/csrmm_mklml_lnx_2019.0.5.tgz tar xf PaddleCustomDevice/Paddle/third_party/mklml/Linux/csrmm_mklml_lnx_2019.0.5.tgz diff --git a/backends/iluvatar_gpu/build_paddle.sh b/backends/iluvatar_gpu/build_paddle.sh index b94234b3a0..01c1d3e365 100644 --- a/backends/iluvatar_gpu/build_paddle.sh +++ b/backends/iluvatar_gpu/build_paddle.sh @@ -71,8 +71,8 @@ cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DI -DCMAKE_CXX_FLAGS='-Wno-error=pessimizing-move -Wno-error=deprecated-copy -Wno-error=init-list-lifetime -pthread' \ -DCMAKE_CUDA_FLAGS='-Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \ -DCMAKE_C_FLAGS="-pthread" \ --DWITH_ARM=OFF -DWITH_DGC=OFF .. || { echo "Error: CMake configuration failed!"; exit 1; } -ninja -j$(nproc) || { echo "Error: Paddle-iluvatar-gpu build failed!"; exit 1; } +-DWITH_ARM=OFF -DWITH_DGC=OFF .. || { echo "Error: CMake configuration failed!"; exit 1; }" +ninja -j4 || { echo "Error: Paddle-iluvatar-gpu build failed!"; exit 1; } popd if [[ ! -d "build_pip" ]]; then From e9360358976ac4ff86d1a00a25f7f3c7474c7bfa Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Fri, 12 Dec 2025 17:20:55 +0800 Subject: [PATCH 6/7] nproc --- backends/iluvatar_gpu/build_paddle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/iluvatar_gpu/build_paddle.sh b/backends/iluvatar_gpu/build_paddle.sh index 01c1d3e365..92295a9376 100644 --- a/backends/iluvatar_gpu/build_paddle.sh +++ b/backends/iluvatar_gpu/build_paddle.sh @@ -72,7 +72,7 @@ cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DI -DCMAKE_CUDA_FLAGS='-Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \ -DCMAKE_C_FLAGS="-pthread" \ -DWITH_ARM=OFF -DWITH_DGC=OFF .. || { echo "Error: CMake configuration failed!"; exit 1; }" -ninja -j4 || { echo "Error: Paddle-iluvatar-gpu build failed!"; exit 1; } +ninja -j$(nproc) || { echo "Error: Paddle-iluvatar-gpu build failed!"; exit 1; } popd if [[ ! -d "build_pip" ]]; then From 8d01ca12e02ab7e50c462ae19b1bc4f1696adcc9 Mon Sep 17 00:00:00 2001 From: geyuqiang Date: Fri, 12 Dec 2025 17:27:36 +0800 Subject: [PATCH 7/7] fix shell --- backends/iluvatar_gpu/build_paddle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/iluvatar_gpu/build_paddle.sh b/backends/iluvatar_gpu/build_paddle.sh index 92295a9376..b94234b3a0 100644 --- a/backends/iluvatar_gpu/build_paddle.sh +++ b/backends/iluvatar_gpu/build_paddle.sh @@ -71,7 +71,7 @@ cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DI -DCMAKE_CXX_FLAGS='-Wno-error=pessimizing-move -Wno-error=deprecated-copy -Wno-error=init-list-lifetime -pthread' \ -DCMAKE_CUDA_FLAGS='-Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \ -DCMAKE_C_FLAGS="-pthread" \ --DWITH_ARM=OFF -DWITH_DGC=OFF .. || { echo "Error: CMake configuration failed!"; exit 1; }" +-DWITH_ARM=OFF -DWITH_DGC=OFF .. || { echo "Error: CMake configuration failed!"; exit 1; } ninja -j$(nproc) || { echo "Error: Paddle-iluvatar-gpu build failed!"; exit 1; } popd