1+ name : Iluvatar3.6-Build-And-Test
2+
3+ on :
4+ push :
5+ branches : [ "triton_v3.6.x" ]
6+ pull_request :
7+ branches : [ "triton_v3.6.x" ]
8+
9+ concurrency :
10+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
11+ cancel-in-progress : true
12+
13+ jobs :
14+ iluvatar-build-and-test :
15+ runs-on : iluvatar3.6
16+ if : ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }}
17+ steps :
18+ - name : Setup environment
19+ shell : bash
20+ run : |
21+ source ~/env.sh
22+ env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true
23+
24+ - name : Smart Checkout
25+ uses : flagos-ai/FlagTree/.github/actions/smart-checkout@main
26+ with :
27+ checkout_version : ' v6'
28+
29+ - name : Check if backend-relevant files changed
30+ id : check_backend
31+ uses : flagos-ai/FlagTree/.github/actions/check-backend-changed@main
32+ with :
33+ backend : iluvatar
34+
35+ - name : FlagTree Build on Iluvatar
36+ if : steps.check_backend.outputs.should_skip != 'true'
37+ shell : bash
38+ run : |
39+ set -x
40+ export FLAGTREE_BACKEND=iluvatar
41+ export TRITON_OFFLINE_BUILD=1
42+ export TRITON_BUILD_PROTON=OFF
43+ export TRITON_ILU_BUILD_GLUON=OFF
44+ MAX_JOBS=32 python3 -m pip install . --no-build-isolation
45+
46+ - name : FlagTree Test on Iluvatar
47+ if : steps.check_backend.outputs.should_skip != 'true'
48+ shell : bash
49+ run : |
50+ set -x
51+ source ~/env.sh
52+
53+ FLAGTREE_ROOT="$PWD"
54+ cd third_party/iluvatar
55+
56+ export CUDA_VISIBLE_DEVICES=0
57+
58+ iluvatar_tle_enabled() {
59+ case "${FLAGTREE_ILUVATAR_TLE:-}" in
60+ 1|ON|on|true|TRUE) return 0 ;;
61+ *) return 1 ;;
62+ esac
63+ }
64+
65+ for pkg in pytest hypothesis absl-py scipy lit filecheck pytest-forked; do
66+ pip3 list "$pkg" | grep "$pkg" || pip3 install "$pkg"
67+ done
68+ ln -sf "$(command -v filecheck)" "$PWD/bin/FileCheck"
69+
70+ if [[ "$(uname -m)" == "aarch64" ]]; then
71+ libgomp_path=$(find /usr/lib /usr/lib64 /lib /lib64 -type f -name 'libgomp.so*' 2>/dev/null | head -n 1)
72+ if [[ -n "$libgomp_path" ]]; then
73+ export LD_PRELOAD="$libgomp_path${LD_PRELOAD:+:$LD_PRELOAD}"
74+ fi
75+ fi
76+
77+ UMD_CUDAMODULELOADING=0 pytest -v python/test/unit/language/test_core.py
78+ pytest -v python/test/unit/language/test_subprocess.py
79+ pytest -v python/test/unit/operators/test_blocksparse.py
80+ pytest -v python/test/unit/operators/test_cross_entropy.py
81+ pytest -v python/test/unit/operators/test_dot_trans.py
82+ pytest -v python/test/unit/operators/test_flash_attention.py
83+ pytest -v python/test/unit/operators/test_inductor.py
84+ pytest -v python/test/unit/operators/test_matmul.py
85+ pytest -v python/test/unit/test_debug.py
86+
87+ if iluvatar_tle_enabled; then
88+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/integration/test_tle_local_store.py
89+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/unit/test_tle_gpu_local_ptr.py
90+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/unit/test_extract_tile_static_index.py
91+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/unit/test_extract_tile_dynamic_index.py
92+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/unit/test_insert_tile_static_index.py
93+ pytest -v ${FLAGTREE_ROOT}/python/test/tle/unit/test_insert_tile_dynamic_index.py
94+ fi
0 commit comments