Fix SAC for older PyTorch (fairinternal/xformers#1146) #21
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: 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' |