2023-10-02 nightly release (45e4b8ca3615016625de15326a14668c8b58595d) #771
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: Unit-tests on Linux GPU | |
on: | |
pull_request: | |
push: | |
branches: | |
- nightly | |
- main | |
- release/* | |
workflow_dispatch: | |
env: | |
CHANNEL: "nightly" | |
jobs: | |
tests: | |
strategy: | |
matrix: | |
python_version: ["3.8"] | |
cuda_arch_version: ["11.7"] | |
fail-fast: false | |
uses: pytorch/test-infra/.github/workflows/linux_job.yml@main | |
with: | |
runner: linux.g5.4xlarge.nvidia.gpu | |
repository: pytorch/text | |
gpu-arch-type: cuda | |
gpu-arch-version: ${{ matrix.cuda_arch_version }} | |
timeout: 120 | |
script: | | |
# Mark Build Directory Safe | |
git config --global --add safe.directory /__w/text/text | |
# Set up Environment Variables | |
export PYTHON_VERSION="${{ matrix.python_version }}" | |
export VERSION="${{ matrix.cuda_arch_version }}" | |
export CUDATOOLKIT="pytorch-cuda=${VERSION}" | |
# Set CHANNEL | |
if [[ (${GITHUB_EVENT_NAME} = 'pull_request' && (${GITHUB_BASE_REF} = 'release'*)) || (${GITHUB_REF} = 'refs/heads/release'*) ]]; then | |
export CHANNEL=test | |
else | |
export CHANNEL=nightly | |
fi | |
# Create Conda Env | |
conda create --quiet -yp ci_env python="${PYTHON_VERSION}" | |
conda activate /work/ci_env | |
python3 -m pip --quiet install cmake>=3.18.0 ninja | |
conda env update --file ".circleci/unittest/linux/scripts/environment.yml" --prune | |
# TorchText-specific Setup | |
printf "* Downloading SpaCy English models\n" | |
python -m spacy download en_core_web_sm | |
printf "* Downloading SpaCy German models\n" | |
python -m spacy download de_core_news_sm | |
# Install PyTorch and TorchData | |
set -ex | |
conda install \ | |
--yes \ | |
--quiet \ | |
-c "pytorch-${CHANNEL}" \ | |
-c nvidia "pytorch-${CHANNEL}"::pytorch[build="*${VERSION}*"] \ | |
"${CUDATOOLKIT}" | |
printf "Installing torchdata nightly\n" | |
python3 -m pip install "portalocker>=2.0.0" | |
python3 -m pip install --pre torchdata --extra-index-url https://download.pytorch.org/whl/nightly/cpu --quiet | |
python3 setup.py develop | |
python3 -m pip install parameterized --quiet | |
# Run Tests | |
python3 -m torch.utils.collect_env | |
cd test | |
python3 -m pytest --junitxml=test-results/junit.xml -v --durations 20 -m gpu_test torchtext_unittest |