name: amd-mi200 on: schedule: - cron: "0 0 * * *" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: amd-tests: # The type of runner that the job will run on runs-on: [self-hosted, amd, mi200] # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - id: setup-venv uses: ./.github/workflows/setup-venv - name: Install pytorch run: | pip install -U --cache-dir $TORCH_CACHE torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.4.2 python -c "import torch; print('torch:', torch.__version__, torch)" python -c "import torch; print('CUDA available:', torch.cuda.is_available())" - name: Install transformers run: | 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 1cc453d33 git rev-parse --short HEAD pip install . - name: Install (ROCm) apex run: | git clone https://github.com/ROCmSoftwarePlatform/apex.git cd apex CURRENT_VER=$(git rev-parse HEAD) INSTALLED_VER=$(cat /blob/amd-apex/.venv_installed_version) if [[ "$CURRENT_VER" != "$INSTALLED_VER" ]]; then pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings="--global-option=--cpp_ext" --config-settings="--global-option=--cuda_ext" --target=/blob/amd-apex/ --upgrade . git rev-parse HEAD > /blob/amd-apex/.venv_installed_version fi echo PYTHONPATH=$PYTHONPATH:/blob/amd-apex/ >> $GITHUB_ENV # Runs a set of commands using the runners shell - name: Install deepspeed run: | pip install .[dev,1bit,autotuning] #python -c "from deepspeed.env_report import cli_main; cli_main()" ds_report - name: Python environment run: | pip list # Runs a set of commands using the runners shell - name: Unit tests run: | unset TORCH_CUDA_ARCH_LIST # only jit compile for current arch cd tests pytest $PYTEST_OPTS -n 4 --verbose unit/ pytest $PYTEST_OPTS -m 'sequential' unit/