name: xpu-compile on: workflow_dispatch: schedule: - cron: "0 0 * * *" pull_request: paths: - ".github/workflows/xpu-compile.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read issues: write jobs: compile-tests: name: xpu-compile / compile tests runs-on: [self-hosted, intel, xpu] container: image: intel/oneapi-basekit:2025.0.2-0-devel-ubuntu22.04 ports: - 80 options: --privileged -it --rm --device /dev/dri:/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --ipc=host --cap-add=ALL steps: - uses: actions/checkout@v4 - name: Install prerequisite run: | apt-get update apt-get install clinfo libaio-dev python3-pip -y pip install torch==2.10.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu pip install py-cpuinfo numpy pip install .[dev,autotuning] - name: Check container state run: | ldd --version ds_report python3 -c "import torch; print('torch:', torch.__version__, torch)" python3 -c "import torch; print('XPU available:', torch.xpu.is_available())" python3 -c "from deepspeed.accelerator import get_accelerator; print('accelerator:', get_accelerator()._name)" pip list - name: Compile Status shell: bash run: | echo "# torch.compile graph breaks" >> $GITHUB_STEP_SUMMARY export FI_HMEM=system ulimit -n 1048575 cd tests/torch_compile export ZE_AFFINITY_MASK=0,1 echo "## ZeRO stage 3" >> $GITHUB_STEP_SUMMARY deepspeed test_compile.py --deepspeed_config ds_config_z3.json 2>&1 | tee log_z3.txt # for each line start with 'dynamo_output', extract the second field and following fields and append to GITHUB_STEP_SUMMARY using awk cat log_z3.txt | awk '/^dynamo_output/ {$1=""; print $0}' >> $GITHUB_STEP_SUMMARY echo "## ZeRO stage 2" >> $GITHUB_STEP_SUMMARY deepspeed test_compile.py --deepspeed_config ds_config_z2.json 2>&1 | tee log_z2.txt cat log_z2.txt | awk '/^dynamo_output/ {$1=""; print $0}' >> $GITHUB_STEP_SUMMARY