Skip to content

new api changes for unit tests for supported configurations #85

new api changes for unit tests for supported configurations

new api changes for unit tests for supported configurations #85

name: "SYCL Python EVT Test"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
merge_group:
branches: [ "main" ]
workflow_dispatch:
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
run-evt-tests:
name: Run Python EVT tests on Intel BMG
runs-on: bmg
timeout-minutes: 90
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Install Python venv package
shell: bash
run: |
sudo apt-get install -y python3.13-venv
- name: Install Intel graphics drivers
uses: ./.github/actions/install-intel-graphics
with:
GPU: 'BMG'
IGC: 'ROLLING'
- name: Install DPC++
id: install_dpcpp
uses: ./.github/actions/install-dpcpp
with:
DPCPP_RELEASE: RELEASE
#DPCPP_VERSION: ${{ inputs.DPCPP_VERSION }}
DPCPP_PATH: ~/dpcpp
- name: Setup virtual environment
shell: bash
run: |
python3 -m venv ~/.venv
source ~/.venv/bin/activate
. setvars.sh
# Persist environment variables to following steps
env >> $GITHUB_ENV
sycl-ls
- name: Install DPCTL
id: install_dpctl
uses: ./.github/actions/install-dpctl
with:
DPCTL_URL: https://github.com/IntelPython/dpctl.git
DPCTL_BRANCH: master
DPCTL_PATH: ~/dpctl
VENV_PATH: ~/.venv
- name: Install Torch XPU
shell: bash
run: |
source ~/.venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/test/xpu
pip uninstall --yes intel-sycl-rt intel-cmplr-lib-ur umf
- name: Install CUTLASS Python Package
shell: bash
run: |
source ~/.venv/bin/activate
pip install -e .
export CUTLASS_USE_SYCL=1
export ONEAPI_DEVICE_SELECTOR=level_zero:gpu
- name: Run Python EVT Tests (Xe-compatible)
shell: bash
run: |
source ~/.venv/bin/activate
export CUTLASS_USE_SYCL=1
export ONEAPI_DEVICE_SELECTOR=level_zero:gpu
python test/python/cutlass/evt/run_xe_evt_tests.py -j xe_evt_ci
- name: Cleanup DPC++
if: always()
shell: bash
run: |
echo "Cleaning up DPC++ installation..."
echo "Removing OneAPI packages..."
sudo apt remove -y intel-oneapi-runtime-libs intel-oneapi-compiler-dpcpp-cpp || true
sudo rm -f /etc/apt/sources.list.d/oneAPI.list
sudo rm -f /usr/share/keyrings/oneapi-archive-keyring.gpg
# Clean up environment files
rm -f setvars.sh
# Clean up build artifacts
rm -rf build/ || true
echo "DPC++ cleanup completed"
- name: Cleanup DPCTL
if: always()
shell: bash
run: |
echo "Cleaning up DPCTL installation..."
DPCTL_PATH="${{ inputs.DPCTL_PATH || '~/dpctl' }}"
DPCTL_PATH=$(eval echo $DPCTL_PATH) # Expand ~ to home directory
if [ -d "$DPCTL_PATH" ]; then
echo "Removing DPCTL directory: $DPCTL_PATH"
sudo rm -rf "$DPCTL_PATH"
fi
echo "DPCTL cleanup completed"