[SPEC] Move third_party/ascend/backend/spec/triton to python/triton/s… #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Ascend3.5-Build-And-Test | |
| on: | |
| push: | |
| branches: [ "triton_v3.5.x" ] | |
| pull_request: | |
| branches: [ "triton_v3.5.x" ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ascend-build-and-test: | |
| runs-on: ascend3.5 | |
| if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} | |
| steps: | |
| - name: Setup environment | |
| shell: bash | |
| run: | | |
| source ~/env.sh | |
| env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true | |
| - name: Smart Checkout | |
| uses: flagos-ai/FlagTree/.github/actions/smart-checkout@main | |
| with: | |
| checkout_version: 'v6' | |
| - name: Check if backend-relevant files changed | |
| id: check_backend | |
| uses: flagos-ai/FlagTree/.github/actions/check-backend-changed@main | |
| with: | |
| backend: ascend | |
| - name: FlagTree Build on Ascend | |
| if: steps.check_backend.outputs.should_skip != 'true' | |
| shell: bash | |
| run: | | |
| set -x | |
| export FLAGTREE_BACKEND=ascend | |
| source ~/env.sh | |
| export PATH=~/.flagtree/ascend/llvm-7d5de303-ubuntu-aarch64-python311-compat/bin/:${PATH} # clang | |
| export TRITON_APPEND_CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Release" | |
| MAX_JOBS=32 python3 -m pip install . --no-build-isolation | |
| - name: FlagTree Test on Ascend | |
| if: steps.check_backend.outputs.should_skip != 'true' | |
| shell: bash | |
| run: | | |
| set -x | |
| source /usr/local/Ascend/ascend-toolkit/set_env.sh | |
| ## tutorials | |
| pushd third_party/ascend/tutorials | |
| python3 01-vector-add.py | |
| python3 02-fused-softmax.py | |
| # python3 03-matrix-multiplication.py # nan, inf | |
| python3 04-low-memory-dropout.py | |
| python3 05-layer-norm.py | |
| python3 06-fused-attention.py | |
| python3 07-extern-functions.py | |
| python3 08-grouped-gemm.py | |
| python3 09-persistent-matmul.py | |
| popd | |
| ## pytest_ut | |
| pushd third_party/ascend/unittest/pytest_ut | |
| # TODO: test_03_matrix_multiplication.py nan, inf | |
| # Other tests passed, but takes a long time, so we ignore them in workflow | |
| python3 -m pytest -s . \ | |
| --ignore=test_device_print.py \ | |
| --ignore=test_device_print_comprehensive.py \ | |
| --ignore=test_device_print_script.py \ | |
| --ignore=test_03_matrix_multiplication.py \ | |
| --ignore=test_10_gather_sorted.py \ | |
| --ignore=test_16_profiler.py \ | |
| --ignore=test_18_gather.py \ | |
| --ignore=test_cat_help_func.py \ | |
| --ignore=test_argmax.py \ | |
| --ignore=test_argmin.py \ | |
| --ignore=test_atomic_add.py \ | |
| --ignore=test_atomic_cas.py \ | |
| --ignore=test_atomic_max.py \ | |
| --ignore=test_atomic_min.py \ | |
| --ignore=test_cannonicalize_tl_where.py \ | |
| --ignore=test_dot_scaled.py \ | |
| --ignore=test_elementwise_round.py \ | |
| --ignore=test_eq.py \ | |
| --ignore=test_exp_.py \ | |
| --ignore=test_for_ptr.py \ | |
| --ignore=test_ge.py \ | |
| --ignore=test_implicit_permute.py \ | |
| --ignore=test_index_select.py \ | |
| --ignore=test_join.py \ | |
| --ignore=test_le.py \ | |
| --ignore=test_linearize_mask.py \ | |
| --ignore=test_linearize_mask_fallback.py \ | |
| --ignore=test_linearize_permute.py \ | |
| --ignore=test_load.py \ | |
| --ignore=test_load_store.py \ | |
| --ignore=test_mean_dim0.py \ | |
| --ignore=test_mean_vector.py \ | |
| --ignore=test_permute_full.py \ | |
| --ignore=test_reduce_count_vector.py \ | |
| --ignore=test_reduce_maximum.py \ | |
| --ignore=test_reduce_min_4_keepdim_True_with_index_op.py \ | |
| --ignore=test_reduce_minimum.py \ | |
| --ignore=test_scalar_calc.py \ | |
| --ignore=test_sort.py \ | |
| --ignore=test_sqrt.py \ | |
| --ignore=test_sum_dim1.py \ | |
| --ignore=test_sum_vector.py \ | |
| --ignore=test_tensor_descriptor.py \ | |
| --ignore=test_topk.py | |
| python3 -m pytest -s test_argmax.py -k test_argmax_1d | |
| python3 -m pytest -s test_argmin.py -k test_argmin_1d | |
| python3 -m pytest -s test_atomic_add.py -k test_atomic_add_2d | |
| python3 -m pytest -s test_atomic_cas.py -k test_atomic_cas_with_full | |
| python3 -m pytest -s test_atomic_max.py -k test_atomic_max_2d_supply | |
| python3 -m pytest -s test_atomic_min.py -k test_atomic_min_2d_supply | |
| python3 -m pytest -s test_dot_scaled.py -k test_scaled_dot_fast_math | |
| python3 -m pytest -s test_implicit_permute.py -k test_addptr_implicit_perm_load_2d | |
| python3 -m pytest -s test_index_select.py -k test_index_select_manual | |
| python3 -m pytest -s test_linearize_mask.py -k test_linearize_mask_rem | |
| python3 -m pytest -s test_linearize_permute.py -k test_triton_gpu_kernel | |
| python3 -m pytest -s test_load.py -k test_load_store | |
| python3 -m pytest -s test_load_store.py -k test_load_store | |
| python3 -m pytest -s test_scalar_calc.py -k test_scalar_ceil_calc | |
| python3 -m pytest -s test_sort.py -k test_sort_2d | |
| python3 -m pytest -s test_sum_vector.py -k test_sum | |
| python3 -m pytest -s test_tensor_descriptor.py -k test_tensor_descriptor_functional_interface | |
| export LD_PRELOAD=/usr/local/python3.11.15/lib/python3.11/site-packages/torch/lib/libtorch_cpu.so # device_print | |
| python3 -m pytest -s test_device_print.py | |
| python3 -m pytest -s test_device_print_comprehensive.py | |
| python3 -m pytest -s test_device_print_script.py | |
| popd |