From b03c58b1e9b0770c20adda43a50a81249ec8eb85 Mon Sep 17 00:00:00 2001 From: YunjiQin Date: Tue, 21 Apr 2026 10:23:14 +0800 Subject: [PATCH 1/3] fix(ci): use bash shell for qwen3-decode container step The qwen3-decode job runs inside a Docker container where GitHub Actions defaults to sh (dash). The script uses bash-specific array syntax (failed=(), failed+=(), ${#failed[@]}) which is invalid in POSIX sh, causing an immediate "Syntax error: '(' unexpected" failure. Fixes #1098 --- .github/workflows/daily_ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml index 393871c52..e2692f701 100644 --- a/.github/workflows/daily_ci.yml +++ b/.github/workflows/daily_ci.yml @@ -75,6 +75,7 @@ jobs: - name: Run qwen3 decode examples working-directory: ${{ github.workspace }}/pypto-lib + shell: bash run: | failed=() for f in \ From 55b7741990b0fa929d4f3f3481a87e426b1cd73d Mon Sep 17 00:00:00 2001 From: YunjiQin Date: Wed, 22 Apr 2026 17:30:01 +0800 Subject: [PATCH 2/3] fix(ci): skip TestMscatter in a5 daily CI (simpler#649) TestMscatter hangs on a5 due to a simpler runtime bug when executing SIMT kernels. Exclude it from daily CI until the upstream fix lands. Refs #1098 --- .github/workflows/daily_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml index e2692f701..135d03130 100644 --- a/.github/workflows/daily_ci.yml +++ b/.github/workflows/daily_ci.yml @@ -142,7 +142,7 @@ jobs: run: | task-submit --timeout 1800 --max-time 1800 --device 1 \ --run "pytest tests/st/runtime/test_assemble.py tests/st/runtime/test_mscatter.py tests/st/runtime/test_qwen3_decode_scope3_mixed.py tests/st/runtime/test_dyn_orch_shape.py::TestDynOrchShapeOperations::test_dyn_orch_paged_attention -v --forked --platform=a5 --device=1 --pto-isa-commit=d96c8784 \ - -k 'not (test_tile_row_expand or test_fillpad_zero or test_fillpad_max or test_fillpad_min)'" + -k 'not (test_tile_row_expand or test_fillpad_zero or test_fillpad_max or test_fillpad_min or TestMscatter)'" notify-on-failure: name: Open issue on failure From da43a9638018647d4a5f7389d719b75f7493af5b Mon Sep 17 00:00:00 2001 From: YunjiQin Date: Fri, 24 Apr 2026 21:42:18 +0800 Subject: [PATCH 3/3] update ptoas to 0.30, fix sync error in qwen3 --- .github/workflows/daily_ci.yml | 38 ++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml index 135d03130..ba71f1a72 100644 --- a/.github/workflows/daily_ci.yml +++ b/.github/workflows/daily_ci.yml @@ -12,8 +12,8 @@ jobs: ASCEND_HOME_PATH: /usr/local/Ascend/cann-8.5.0 PTOAS_ROOT: ${{ github.workspace }}/ptoas-bin PTO_ISA_ROOT: ${{ github.workspace }}/pto-isa - PTOAS_VERSION: v0.25 - PTOAS_SHA256: 66dee5d9ebbd713db7934570bb95eb7870895a49905c248ca95da9289cd4a1aa + PTOAS_VERSION: v0.30 + PTOAS_SHA256: 83cd91f1bbe3c1b5bc7b01462adeb73603fb22b1b56d8b39bd90644b373ba2a1 container: image: localhost:5000/ci-device-py310:latest options: >- @@ -60,10 +60,15 @@ jobs: run: echo "$ASCEND_HOME_PATH/bin" >> $GITHUB_PATH - name: Clone pto-isa repository - run: git clone --depth 1 https://github.com/PTO-ISA/pto-isa.git $GITHUB_WORKSPACE/pto-isa + run: | + git clone https://github.com/PTO-ISA/pto-isa.git $GITHUB_WORKSPACE/pto-isa + cd $GITHUB_WORKSPACE/pto-isa + git checkout d5bcc23 - name: Install simpler - run: pip install -v ./runtime + run: | + rm -rf ./runtime/build + pip install -v ./runtime - name: Clone pypto-lib run: git clone --depth 1 https://github.com/hw-native-sys/pypto-lib.git $GITHUB_WORKSPACE/pypto-lib @@ -75,14 +80,16 @@ jobs: - name: Run qwen3 decode examples working-directory: ${{ github.workspace }}/pypto-lib + env: + PYTHONPATH: ${{ github.workspace }}/pypto-lib shell: bash run: | failed=() for f in \ - examples/models/qwen3/qwen3_32b_decode_scope1.py \ - examples/models/qwen3/qwen3_32b_decode_scope2.py \ - examples/models/qwen3/qwen3_32b_decode_scope3.py \ - examples/models/qwen3/qwen3_32b_decode.py; do + examples/models/qwen3/32b/qwen3_32b_decode_scope1.py \ + examples/models/qwen3/32b/qwen3_32b_decode_scope2.py \ + examples/models/qwen3/32b/qwen3_32b_decode_scope3.py \ + examples/models/qwen3/32b/qwen3_32b_decode.py; do echo "::group::$f" if ! python "$f" -p a2a3 -d $DEVICE_ID; then failed+=("$f") @@ -102,8 +109,8 @@ jobs: env: PTOAS_ROOT: ${{ github.workspace }}/ptoas-bin PTO_ISA_ROOT: ${{ github.workspace }}/pto-isa - PTOAS_VERSION: v0.25 - PTOAS_SHA256: 66dee5d9ebbd713db7934570bb95eb7870895a49905c248ca95da9289cd4a1aa + PTOAS_VERSION: v0.30 + PTOAS_SHA256: 83cd91f1bbe3c1b5bc7b01462adeb73603fb22b1b56d8b39bd90644b373ba2a1 steps: - uses: actions/checkout@v4 with: @@ -133,15 +140,20 @@ jobs: chmod +x $GITHUB_WORKSPACE/ptoas-bin/bin/ptoas - name: Clone pto-isa repository - run: git clone --depth 1 https://github.com/PTO-ISA/pto-isa.git $GITHUB_WORKSPACE/pto-isa + run: | + git clone https://github.com/PTO-ISA/pto-isa.git $GITHUB_WORKSPACE/pto-isa + cd $GITHUB_WORKSPACE/pto-isa + git checkout d5bcc23 - name: Install simpler - run: pip install -v ./runtime + run: | + rm -rf ./runtime/build + pip install -v ./runtime - name: Run A5 system tests run: | task-submit --timeout 1800 --max-time 1800 --device 1 \ - --run "pytest tests/st/runtime/test_assemble.py tests/st/runtime/test_mscatter.py tests/st/runtime/test_qwen3_decode_scope3_mixed.py tests/st/runtime/test_dyn_orch_shape.py::TestDynOrchShapeOperations::test_dyn_orch_paged_attention -v --forked --platform=a5 --device=1 --pto-isa-commit=d96c8784 \ + --run "pytest tests/st/runtime/test_assemble.py tests/st/runtime/test_mscatter.py tests/st/runtime/test_qwen3_decode_scope3_mixed.py tests/st/runtime/test_dyn_orch_shape.py::TestDynOrchShapeOperations::test_dyn_orch_paged_attention -v --forked --platform=a5 --device=1 --pto-isa-commit=d5bcc23 \ -k 'not (test_tile_row_expand or test_fillpad_zero or test_fillpad_max or test_fillpad_min or TestMscatter)'" notify-on-failure: