86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
name: amd-mi200
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/amd-mi200.yml'
|
|
- 'requirements/**'
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
|
|
jobs:
|
|
amd-tests:
|
|
name: amd-mi200 / AMD MI200 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@v4
|
|
|
|
- id: setup-venv
|
|
uses: ./.github/workflows/setup-venv
|
|
|
|
- name: Install pytorch
|
|
run: |
|
|
pip install -U --cache-dir $TORCH_CACHE torch torchvision --index-url https://download.pytorch.org/whl/rocm6.0
|
|
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
|
|
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/
|
|
|
|
- name: Open GitHub issue if nightly CI fails
|
|
if: ${{ failure() && (github.event_name == 'schedule') }}
|
|
uses: JasonEtco/create-an-issue@v2
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
filename: .github/ISSUE_TEMPLATE/ci_failure_report.md
|
|
update_existing: true
|