[CI] Update runner label from hopper to nvidia3.5 #28
Workflow file for this run
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 | |
| # flagtree tle test | |
| pushd python/test/tle | |
| python3 test_vec_add.py | |
| python3 test_vec_add_2d.py | |
| python3 test_vec_add_mix.py | |
| python3 test_vec_mathOps.py | |
| python3 test_tle_with_hints.py | |
| popd | |
| # flagtree tle tutorial | |
| pushd python/tutorials/tle | |
| python3 06-swiglu.py | |
| python3 07-kv-rmsnorm-rope-cache.py | |
| pytest -s -k "accuracy" 08-add-rms-norm-bias.py | |
| popd |