[CI] run AMD backend test on PRs #3
This file contains 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: Backend Tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
Runner-Preparation: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix-optional: ${{ steps.set-matrix.outputs.matrix-optional }} | |
steps: | |
- name: Prepare runner matrix | |
id: set-matrix | |
run: | | |
if [ x"${{ github.repository }}" == x"openai/triton" ]; then | |
echo '::set-output name=matrix-optional::[["self-hosted", "gfx908"], ["self-hosted", "arc770"]]' | |
else | |
echo '::set-output name=matrix-optional::["ubuntu-latest"]' | |
fi | |
Integration-Tests-Shared-Middle-Layer: | |
if: (github.event_name == 'workflow_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main') | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Clear cache | |
run: | | |
rm -rf ~/.triton | |
- name: Update PATH | |
run: | | |
echo "PATH=${HOME}/.local/bin:${PATH}" >> "${GITHUB_ENV}" | |
- name: Check pre-commit | |
run: | | |
python3 -m pip install --upgrade pre-commit | |
python3 -m pre_commit run --all-files --verbose | |
- name: Install Triton | |
run: | | |
export TRITON_CODEGEN_TRITON_SHARED=1 | |
git submodule update --init --recursive | |
cd python | |
python3 -m pip install --upgrade pip | |
python3 -m pip install cmake==3.24 | |
python3 -m pip install ninja | |
python3 -m pip uninstall -y triton | |
python3 setup.py build | |
python3 -m pip install --no-build-isolation -vvv '.[tests]' | |
Integration-Tests-AMD: | |
if: (github.event_name == 'workflow_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'pull_request') | |
needs: Runner-Preparation | |
timeout-minutes: 20 | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: ["gfx908"] | |
steps: | |
- name: Checkout PR | |
uses: actions/checkout@v3 | |
if: ${{ github.event_name == 'issue_comment' }} | |
with: | |
ref: refs/pull/${{ github.event.issue.number }}/head | |
submodules: 'true' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
if: ${{ github.event_name != 'issue_comment' }} | |
with: | |
submodules: 'true' | |
- name: Set ROCM ENV | |
run: | | |
echo "BACKEND=ROCM" >> "${GITHUB_ENV}" | |
- name: Clear cache | |
run: | | |
rm -rf ~/.triton | |
- name: Update PATH | |
run: | | |
echo "PATH=${HOME}/.local/bin:${PATH}" >> "${GITHUB_ENV}" | |
- name: Install Dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install ninja wheel pytest pytest-xdist numpy lit autopep8 flake8 isort | |
python3 -m pip install scipy>=1.7.1 | |
python3 -m pip install cmake==3.24 | |
python3 -m pip install torch==1.13.1 --index-url https://download.pytorch.org/whl/rocm5.2 # important for detecting ROCM! | |
- name: Check pre-commit | |
run: | | |
python3 -m pip install --upgrade pre-commit | |
python3 -m pre_commit run --all-files --verbose | |
- name: Install Triton on ROCM | |
run: | | |
cd python | |
python3 -m pip install . | |
- name: Run python tests on ROCM | |
run: | | |
python3 -m pytest -n 32 --capture=tee-sys -rfs --verbose "python/test/unit/language/test_core.py" -k "not test_flip" | |
Integration-Tests-Intel: | |
needs: Runner-Preparation | |
timeout-minutes: 20 | |
if: false && ((github.event_name == 'workflow_dispatch') || (github.event_name == 'push' && github.ref == 'refs/heads/main')) | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
matrix: | |
runner: ${{fromJson(needs.Runner-Preparation.outputs.matrix-optional)}} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set XPU ENV | |
if: ${{(matrix.runner[0] == 'self-hosted') && (matrix.runner[1] == 'arc770')}} | |
run: | | |
echo "BACKEND=XPU" >> "${GITHUB_ENV}" | |
- name: Clear cache | |
run: | | |
rm -rf ~/.triton | |
- name: Update PATH | |
run: | | |
echo "PATH=${HOME}/.local/bin:${PATH}" >> "${GITHUB_ENV}" | |
- name: Check pre-commit arc770 | |
if: ${{ matrix.runner != 'macos-10.15' && (matrix.runner[1] == 'arc770') }} | |
run: | | |
source ${HOME}/triton_vars.sh | |
source ${HOME}/miniconda3/bin/activate | |
conda activate triton-xpu-ci | |
python3 -m pip install --upgrade pre-commit | |
python3 -m pre_commit run --all-files | |
- name: Install Triton on XPU | |
if: ${{ env.BACKEND == 'XPU'}} | |
run: | | |
source ${HOME}/triton_vars.sh | |
source ${HOME}/miniconda3/bin/activate | |
conda activate triton-xpu-ci | |
git submodule update --init --recursive | |
cd python | |
python3 -m pip install --upgrade pip | |
python3 -m pip install cmake==3.24 | |
export TRITON_CODEGEN_INTEL_XPU_BACKEND=1 | |
python3 -m pip uninstall -y triton | |
python3 setup.py build | |
python3 -m pip install --no-build-isolation -vvv '.[tests]' | |
- name: Run python tests on XPU | |
if: ${{ env.BACKEND == 'XPU'}} | |
run: | | |
source ${HOME}/triton_vars.sh | |
source ${HOME}/miniconda3/bin/activate | |
conda activate triton-xpu-ci | |
cd python/test/backend/third_party_backends | |
python3 -m pytest --capture=tee-sys -rfs --verbose --backend xpu |