Skip to content

Commit c49eee8

Browse files
committed
[CI/CD] Add iluvatar3.6 ci/cd runner.
1 parent 1cc902f commit c49eee8

2 files changed

Lines changed: 128 additions & 0 deletions

File tree

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
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+
for pkg in pytest hypothesis absl-py scipy pytest-forked; do
54+
pip3 list "$pkg" | grep "$pkg" || pip3 install "$pkg"
55+
done
56+
57+
if [[ "$(uname -m)" == "aarch64" ]]; then
58+
libgomp_path=$(find /usr/lib /usr/lib64 /lib /lib64 -type f -name 'libgomp.so*' 2>/dev/null | head -n 1)
59+
if [[ -n "$libgomp_path" ]]; then
60+
export LD_PRELOAD="$libgomp_path${LD_PRELOAD:+:$LD_PRELOAD}"
61+
fi
62+
fi
63+
64+
# triton unit test
65+
UMD_CUDAMODULELOADING=0 pytest -v third_party/iluvatar/python/test/unit/language/test_core.py
66+
pytest -v third_party/iluvatar/python/test/unit/language/test_subprocess.py
67+
pytest -v third_party/iluvatar/python/test/unit/operators/test_blocksparse.py
68+
pytest -v third_party/iluvatar/python/test/unit/operators/test_cross_entropy.py
69+
pytest -v third_party/iluvatar/python/test/unit/operators/test_dot_trans.py
70+
pytest -v third_party/iluvatar/python/test/unit/operators/test_flash_attention.py
71+
pytest -v third_party/iluvatar/python/test/unit/operators/test_inductor.py
72+
pytest -v third_party/iluvatar/python/test/unit/operators/test_matmul.py
73+
pytest -v third_party/iluvatar/python/test/unit/test_debug.py
74+
75+
# TLE unit test
76+
pytest -v python/test/tle/integration/test_tle_local_store.py
77+
pytest -v python/test/tle/unit/test_tle_gpu_local_ptr.py
78+
pytest -v python/test/tle/unit/test_extract_tile_static_index.py
79+
pytest -v python/test/tle/unit/test_extract_tile_dynamic_index.py
80+
pytest -v python/test/tle/unit/test_insert_tile_static_index.py
81+
pytest -v python/test/tle/unit/test_insert_tile_dynamic_index.py
82+
83+
# TLE tutorials unit tests
84+
python3 python/tutorials/tle/01-fft.py --only_unit_test
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CD-Iluvatar3.6
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
WHL_VER:
7+
description: '0.6.0.dev1 < 0.6.0a1 < 0.6.0b1 < 0.6.0rc1 < 0.6.0 < 0.6.0.post1'
8+
required: true
9+
default: '0.6.0'
10+
PYTHON_VER:
11+
required: true
12+
default: '3.10'
13+
PLATFORM:
14+
required: true
15+
default: 'x86_64'
16+
FLAGTREE_PYPI_KEY:
17+
required: false
18+
workflow_call:
19+
inputs:
20+
WHL_VER:
21+
type: string
22+
required: true
23+
default: '0.6.0'
24+
PYTHON_VER:
25+
type: string
26+
required: true
27+
default: '3.10'
28+
PLATFORM:
29+
type: string
30+
required: true
31+
default: 'x86_64'
32+
FLAGTREE_PYPI_KEY:
33+
type: string
34+
required: false
35+
36+
jobs:
37+
call-delivery:
38+
uses: flagos-ai/flagtree/.github/workflows/iluvatar3.6-delivery.yml@main
39+
with:
40+
WHL_VER: ${{ inputs.WHL_VER }}
41+
PYTHON_VER: ${{ inputs.PYTHON_VER }}
42+
PLATFORM: ${{ inputs.PLATFORM }}
43+
FLAGTREE_PYPI_KEY: ${{ inputs.FLAGTREE_PYPI_KEY }}
44+
secrets: inherit

0 commit comments

Comments
 (0)