Spaces:
Runtime error
Runtime error
name: gpu_test_gh | |
on: | |
workflow_dispatch: {} | |
pull_request: | |
paths: | |
- "xformers/**" | |
- "!xformers/benchmarks/**" | |
- "!xformers/version.txt" | |
- ".github/workflows/gpu_test_gh*" | |
- "tests/**" | |
- "setup.py" | |
- "requirements*.txt" | |
- "third_party/**" | |
push: | |
branches: | |
- main | |
env: | |
XFORMERS_BUILD_TYPE: "Release" | |
CI: "1" | |
TORCHINDUCTOR_COMPILE_THREADS: "1" | |
jobs: | |
gpu_test_gh: | |
strategy: | |
fail-fast: false | |
matrix: | |
gpu: | |
- runner: "4-core-ubuntu-gpu-t4" | |
sm: "7.5" | |
pytorch: | |
- channel: pytorch-nightly | |
cuda: 12.1 | |
version: 2 | |
python: [3.11] | |
name: test_sm${{ matrix.gpu.sm }}_cu${{ matrix.pytorch.cuda }} | |
runs-on: ${{ matrix.gpu.runner }} | |
timeout-minutes: 360 | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Recursive checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
path: "." | |
- run: nvidia-smi | |
- name: Install micromamba | |
run: | | |
set -ex | |
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba | |
echo "eval \"\$($(pwd)/bin/micromamba shell hook --shell bash)\"" >> ~/.profile | |
cat ~/.profile | |
- name: Create environment | |
run: | | |
set -ex | |
micromamba config set channel_priority strict | |
micromamba create -n env python=${{ matrix.python }} \ | |
zlib pip ninja pytorch=${{ matrix.pytorch.version }} ccache=4.8 pytorch-mutex==1.0=cuda pytorch-cuda=${{ matrix.pytorch.cuda }} \ | |
cuda-libraries-dev cuda-nvcc \ | |
-c nvidia -c ${{ matrix.pytorch.channel }} -c conda-forge -q -y | |
- name: Activate environment | |
shell: bash -l {0} | |
run: | | |
echo "micromamba activate env" >> ~/.profile | |
echo "==== .profile =====" | |
cat ~/.profile | |
- name: Setup test requirements | |
run: | | |
which python | |
pip install -r requirements-test.txt --progress-bar off | |
- run: TORCH_CUDA_ARCH_LIST=${{ matrix.gpu.sm }} python setup.py develop | |
- run: python -m xformers.info | |
- name: Unit tests | |
run: | | |
python -m pytest --verbose --random-order-bucket=global --maxfail=20 --junitxml=test-results/junit.xml --cov-report=xml --cov=./ tests | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v3 | |
if: success() || failure() # always run even if the previous step fails | |
with: | |
report_paths: 'test-results/*.xml' | |