ci: add test for Huggingface Accelerate #11
Workflow file for this run
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: Linux Accelerate Test | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- '.github/scripts/spec.py' | |
- '.github/workflows/_linux_accelerate.yml' | |
workflow_dispatch: | |
inputs: | |
pytorch: | |
required: false | |
type: string | |
default: 'nightly' | |
description: Pytorch branch/commit | |
python: | |
required: false | |
type: string | |
default: '3.10' | |
description: Python version | |
runner: | |
required: true | |
type: string | |
default: 'linux.idc.xpu' | |
description: Runner label | |
nightly_whl: | |
required: false | |
type: string | |
default: '' | |
description: Pytorch nightly wheel version | |
accelerate: | |
required: false | |
type: string | |
default: 'v1.2.1' | |
description: Accelerate version | |
permissions: read-all | |
jobs: | |
Torch-XPU-Accelerate-Tests: | |
runs-on: ${{ inputs.runner != '' && inputs.runner || 'linux.idc.xpu' }} | |
env: | |
CONDA_ENV_NAME: 'huggingface_accelerate_test' | |
WORK_DIR: 'accelerate' | |
NEOReadDebugKeys: 0 | |
DisableScratchPages: 0 | |
accelerate: ${{ inputs.accelerate != '' && inputs.accelerate || 'v1.2.1' }} | |
python: ${{ inputs.python != '' && inputs.python || '3.10' }} | |
pytorch: ${{ inputs.pytorch != '' && inputs.pytorch || 'nightly' }} | |
PYTORCH_DEBUG_XPU_FALLBACK: 1 | |
ZE_AFFINITY_MASK: 0 | |
PARSE_JUNIT: ${{ github.workspace }}/torch-xpu-ops/.github/scripts/parse-junitxml.py | |
steps: | |
- name: Checkout torch-xpu-ops | |
uses: actions/checkout@v4 | |
- name: Checkout torch-xpu-ops | |
uses: actions/checkout@v4 | |
with: | |
path: torch-xpu-ops | |
- name: Checkout Accelerate | |
uses: actions/checkout@v4 | |
with: | |
repository: huggingface/accelerate | |
ref: ${{ env.accelerate }} | |
path: accelerate | |
- name: Prepare Conda ENV | |
run: | | |
which conda && conda clean -ay | |
conda remove --all -y -n $CONDA_ENV_NAME || rm -rf $(dirname ${CONDA_EXE})/../envs/$CONDA_ENV_NAME | |
conda create -y -n $CONDA_ENV_NAME python=${{ env.python }} | |
source activate $CONDA_ENV_NAME | |
pip install junitparser | |
- name: Prepare Stock XPU Pytorch | |
run: | | |
source activate $CONDA_ENV_NAME | |
if [ -z "${{ inputs.nightly_whl }}" ]; then | |
pip install torch torchvision torchaudio --pre --index-url https://download.pytorch.org/whl/nightly/xpu | |
else | |
pip install torch==$(echo ${{ inputs.nightly_whl }}) torchvision torchaudio --pre --index-url https://download.pytorch.org/whl/nightly/xpu | |
fi | |
- name: Prepare Accelerate | |
run: | | |
source activate $CONDA_ENV_NAME | |
cd $WORK_DIR | |
pip install -e . | |
pip install -e ".[testing]" | |
rm -rf tests_log && mkdir -p tests_log | |
rm -rf reports | |
cp ${{ github.workspace }}/torch-xpu-ops/.github/scripts/spec.py ./ | |
- name: Report installed versions | |
run: | | |
source activate $CONDA_ENV_NAME | |
pwd | |
find . -name action.yml | |
echo "pip installed packages:" | |
pip list | tee ${{ github.workspace }}/$WORK_DIR/tests_log/pip_list.txt | |
echo "lspci gpu devices:" | |
lspci -d ::0380 | tee ${{ github.workspace }}/$WORK_DIR/tests_log/lspci_0380.txt | |
echo "GPU render nodes:" | |
cat /sys/class/drm/render*/device/device | tee ${{ github.workspace }}/$WORK_DIR/tests_log/device_IDs.txt | |
echo "xpu-smi output:" | |
xpu-smi discovery -y --json --dump -1 | |
- name: Print environment | |
if: ${{ ! cancelled() }} | |
uses: ./.github/actions/print-environment/action.yml | |
with: | |
conda: $CONDA_ENV_NAME | |
pip_packages: 'accelerate transformers' | |
- name: Upload Test log | |
if: ${{ ! cancelled() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Torch-XPU-Accelerate-Log-${{ github.event.pull_request.number || github.sha }} | |
path: | | |
${{ github.workspace }}/accelerate/reports | |
${{ github.workspace }}/accelerate/tests_log |