name: nv-transformers-v100 on: push: branches: - 'master' - 'staging**' paths-ignore: - 'docs/**' pull_request: paths-ignore: - 'docs/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: unit-tests: runs-on: [self-hosted, nvidia, cu111, v100] steps: - uses: actions/checkout@v2 - name: environment run: | echo "JobID: $AISC_NODE_INSTANCE_ID" nvidia-smi which python python --version which nvcc nvcc --version pip install --upgrade pip pip uninstall --yes torch torchvision pip install torch==1.8.2+cu111 torchvision==0.9.2+cu111 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html python -c "import torch; print('torch:', torch.__version__, torch)" python -c "import torch; print('CUDA available:', torch.cuda.is_available())" sudo apt-get update sudo apt-get install -y libaio-dev - name: Python environment run: | pip list - name: Install deepspeed run: | pip uninstall --yes deepspeed pip install .[dev,autotuning] ds_report - name: HF transformers tests run: | if [[ -d ./torch-extensions ]]; then rm -rf ./torch-extensions; fi git clone https://github.com/huggingface/transformers cd transformers # if needed switch to the last known good SHA until transformers@master is fixed git checkout 6268694e2 git rev-parse --short HEAD # scipy/sklearn required for tests, using the 'dev' extra forces torch re-install pip install .[testing] # find reqs used in ds integration tests find examples/pytorch -regextype posix-egrep -regex '.*(language-modeling|question-answering|summarization|image-classification|text-classification|translation).*/requirements.txt' -exec grep -v 'torch' {} \; | xargs -I {} pip install --upgrade {} # force datasets version due to issues pip install datasets==2.2.2 # force protobuf version due to issues pip install "protobuf<4.21.0" pip list HF_DATASETS_CACHE=/blob/datasets_cache/ TRANSFORMERS_CACHE=/blob/transformers_cache/ WANDB_DISABLED=true TORCH_EXTENSIONS_DIR=./torch-extensions RUN_SLOW=1 pytest --color=yes --durations=0 --verbose tests/deepspeed