Skip to content

Commit ee5e2c8

Browse files
Merge branch 'main' into dev/wdziurdz/test-matmul-6
2 parents fec3869 + 2fadfe7 commit ee5e2c8

File tree

31 files changed

+2475
-352
lines changed

31 files changed

+2475
-352
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f301733b03758ccd67642d2c202f2d589bd231a4
1+
ce9db15136c5e8ba1b51710aae574ce4791c5d73

.github/pins/pytorch.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
37d57ac9cb7f538b812cf1d9851b55b46213fe15
1+
a47976948863783de4a5b27dc9f05d8be916d559

.github/workflows/build-test-gpu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ on:
4242
use_pyenv_python:
4343
description: Use Python built with pyenv
4444
type: boolean
45-
default: false
45+
default: true
4646

4747
permissions: read-all
4848

@@ -64,4 +64,4 @@ jobs:
6464
skip_list: ${{ inputs.skip_list }}
6565
run_name: ${{ inputs.run_name || format('Build and test {0}', inputs.runner_label) }}
6666
enable_unskip: ${{ inputs.enable_unskip }}
67-
use_pyenv_python: ${{ inputs.use_pyenv_python || false }}
67+
use_pyenv_python: ${{ inputs.use_pyenv_python || true }}

.github/workflows/build-test-reusable.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,6 @@ jobs:
118118
ref: ${{ inputs.pytorch_ref }}
119119
mode: ${{ inputs.pytorch_mode }}
120120

121-
- name: Build Proton with XPU support
122-
run: |
123-
echo TRITON_BUILD_PROTON_XPU=1 | tee -a $GITHUB_ENV
124-
125121
- name: Build Triton
126122
uses: ./.github/actions/setup-triton
127123
with:
@@ -287,6 +283,8 @@ jobs:
287283
- name: Build PTI && Run Proton tests
288284
if: matrix.suite == 'rest'
289285
run: |
286+
# `intel-pti` can be installed in "Setup PyTorch" step with `pytorch_mode==wheels`
287+
pip uninstall intel-pti -y
290288
PTI_COMMIT_ID="$(<.github/pins/pti.txt)"
291289
git clone https://github.com/intel/pti-gpu.git
292290
cd pti-gpu

.github/workflows/sglang-tests.yml

Lines changed: 0 additions & 100 deletions
This file was deleted.

.github/workflows/third-party-benchmarks.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,21 +104,18 @@ jobs:
104104
python transform_results.py $REPORTS/moe-gemm-performance.csv $REPORTS/moe-gemm-fp8-report.csv --tag $TAG --benchmark moe-fp8-benchmark
105105
106106
- name: Run Liger-Kernel benchmarks
107-
if: ${{ steps.install.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'liger-kernel')) }}
107+
if: ${{ steps.install.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'liger')) }}
108108
run: |
109109
source ./scripts/capture-hw-details.sh
110110
111-
cd benchmarks/third_party/liger_kernels
112-
113-
git clone https://github.com/linkedin/Liger-Kernel
114-
pip install -e Liger-Kernel
111+
./scripts/test-triton.sh --install-liger --skip-pip-install --skip-pytorch-install
115112
116113
# To remember return code, but still copy results
117114
RET_CODE=0
118-
bash ./run_benchmarks.sh || RET_CODE=$?
115+
bash benchmarks/third_party/liger/run_benchmarks.sh || RET_CODE=$?
119116
120117
cp Liger-Kernel/benchmark/data/all_benchmark_data.csv $REPORTS/liger-raw.csv
121-
python transform.py $REPORTS/liger-raw.csv $REPORTS/liger-report.csv --tag $TAG
118+
python benchmarks/third_party/liger/transform.py $REPORTS/liger-raw.csv $REPORTS/liger-report.csv --tag $TAG
122119
123120
# Return the captured return code at the end
124121
exit "$RET_CODE"

.github/workflows/third-party-tests.yml

Lines changed: 64 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Third party tests [liger-kernels, vllm]
1+
name: Third party tests [liger-kernels, vllm, sglang]
22

33
on:
44
workflow_dispatch:
@@ -28,12 +28,12 @@ env:
2828
TAG: ${{ inputs.tag || (github.event_name == 'pull_request' && format('pr-{0}', github.event.number)) || (github.event_name == 'schedule' && 'ci') || 'test' }}
2929

3030
jobs:
31-
build:
32-
name: Third party tests [liger-kernels, vllm]
31+
small-tests:
32+
name: Third party tests [vllm, sglang]
3333
runs-on:
3434
- linux
3535
- ${{ inputs.runner_label || 'max1550' }}
36-
timeout-minutes: 720
36+
timeout-minutes: 120
3737
defaults:
3838
run:
3939
shell: bash -noprofile --norc -eo pipefail -c "source /opt/intel/oneapi/setvars.sh > /dev/null; source {0}"
@@ -47,14 +47,7 @@ jobs:
4747
- name: Checkout repository
4848
uses: actions/checkout@v5
4949

50-
- name: Install Python
51-
if: ${{ !(inputs.use_pyenv_python || false) }}
52-
uses: actions/setup-python@v6
53-
with:
54-
python-version: ${{ env.PYTHON_VERSION }}
55-
5650
- name: Install Python (from pyenv) ${{ inputs.python_version }}
57-
if: ${{ inputs.use_pyenv_python }}
5851
uses: ./.github/actions/setup-pyenv-python
5952
with:
6053
python-version: ${{ env.PYTHON_VERSION }}
@@ -71,34 +64,84 @@ jobs:
7164
- name: Setup PyTorch
7265
uses: ./.github/actions/setup-pytorch
7366

74-
- name: Build Triton wheels
75-
uses: ./.github/actions/setup-triton
76-
with:
77-
command: DEBUG=1 python -m build --wheel --no-isolation
78-
79-
- name: Install Triton
67+
- name: Setup Triton
8068
id: install
81-
run: |
82-
pip install dist/*.whl
69+
uses: ./.github/actions/setup-triton
8370

8471
- name: Create reports dir
8572
run: |
8673
mkdir reports
8774
echo "REPORTS=$PWD/reports" >> $GITHUB_ENV
8875
76+
- name: Run SGLANG tests
77+
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
78+
run: |
79+
./scripts/test-triton.sh --sglang --skip-pip-install --skip-pytorch-install
80+
8981
- name: Run VLLM tests
9082
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
9183
run: |
9284
./scripts/test-triton.sh --vllm --skip-pip-install --skip-pytorch-install
9385
94-
- name: Run Liger-Kernel tests
86+
- name: Upload test report
9587
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: test-main-reports
91+
path: reports
92+
# We run all tests for Liger, so it's slow and we test it separately
93+
liger:
94+
name: Liger testing
95+
runs-on:
96+
- linux
97+
- ${{ inputs.runner_label || 'max1550' }}
98+
timeout-minutes: 120
99+
defaults:
100+
run:
101+
shell: bash -noprofile --norc -eo pipefail -c "source /opt/intel/oneapi/setvars.sh > /dev/null; source {0}"
102+
steps:
103+
- name: Print inputs
104+
run: |
105+
cat <<EOF
106+
${{ toJSON(inputs) }}
107+
EOF
108+
109+
- name: Checkout repository
110+
uses: actions/checkout@v5
111+
112+
- name: Install Python (from pyenv) ${{ inputs.python_version }}
113+
uses: ./.github/actions/setup-pyenv-python
114+
with:
115+
python-version: ${{ env.PYTHON_VERSION }}
116+
117+
- name: Identify Python version
118+
run: |
119+
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info[0]}.{ sys.version_info[1]}")')"
120+
echo "PYTHON_VERSION=$PYTHON_VERSION" | tee -a $GITHUB_ENV
121+
122+
- name: Install Python build dependencies
123+
run: |
124+
pip install cmake
125+
126+
- name: Setup PyTorch
127+
uses: ./.github/actions/setup-pytorch
128+
129+
- name: Setup Triton
130+
id: install
131+
uses: ./.github/actions/setup-triton
132+
133+
- name: Create reports dir
134+
run: |
135+
mkdir reports
136+
echo "REPORTS=$PWD/reports" >> $GITHUB_ENV
137+
138+
- name: Run Liger-Kernel tests
96139
run: |
97140
./scripts/test-triton.sh --liger --skip-pip-install --skip-pytorch-install
98141
99142
- name: Upload test report
100143
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
101144
uses: actions/upload-artifact@v4
102145
with:
103-
name: test-reports
146+
name: test-liger-reports
104147
path: reports

.github/workflows/triton-benchmarks.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ on:
1818
options:
1919
- ELAPSED_TIME
2020
- UPSTREAM_PYTORCH_PROFILER
21+
- PROTON_PROFILER
2122
default: UPSTREAM_PYTORCH_PROFILER
2223
verify:
2324
description: Verify the benchmark results
@@ -141,6 +142,14 @@ jobs:
141142
python build_report.py $REPORTS/softmax-performance.csv $REPORTS/softmax-xetla-report.csv --benchmark softmax --compiler xetla --param_cols "N" --tflops_col XeTLA-TFlops --hbm_col "XeTLA-GB/s" --tag $TAG
142143
python build_report.py $REPORTS/softmax-performance.csv $REPORTS/softmax-onednn-report.csv --benchmark softmax --compiler onednn --param_cols "N" --tflops_col oneDNN-TFlops --hbm_col "oneDNN-GB/s" --tag $TAG
143144
145+
- name: Run Triton Softmax kernel benchmark with Proton
146+
if: ${{ steps.install.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'fused_softmax.py')) && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'fused_softmax.py') }}
147+
run: |
148+
export LD_LIBRARY_PATH=$PTI_LIBS_DIR:$LD_LIBRARY_PATH
149+
cd benchmarks/triton_kernels_benchmark
150+
BENCHMARKING_METHOD=PROTON_PROFILER python fused_softmax.py
151+
source ../../scripts/capture-hw-details.sh
152+
144153
- name: Run Triton GEMM kernel benchmark
145154
if: ${{ steps.install.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'gemm_benchmark.py')) && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py') }}
146155
run: |
File renamed without changes.

0 commit comments

Comments
 (0)