67 lines
2.0 KiB
YAML
67 lines
2.0 KiB
YAML
name: nv-inference
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/nv-inference.yml'
|
|
- 'requirements/**'
|
|
- 'deepspeed/__init__.py'
|
|
- 'deepspeed/inference/**'
|
|
- '!deepspeed/inference/v2/**' # exclude v2 dir
|
|
- 'tests/unit/inference/**'
|
|
- '!tests/unit/inference/v2/**' # exclude v2 tests dir
|
|
merge_group:
|
|
branches: [ master ]
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
unit-tests:
|
|
name: nv-inference / inference tests
|
|
runs-on: [self-hosted, nvidia, cu124, v100]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- id: setup-venv
|
|
uses: ./.github/workflows/setup-venv
|
|
|
|
- name: Install pytorch
|
|
run: |
|
|
pip install -U --cache-dir $TORCH_CACHE torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu124
|
|
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
|
|
#git checkout f370bebdc
|
|
git rev-parse --short HEAD
|
|
pip install .
|
|
|
|
- name: Install deepspeed
|
|
run: |
|
|
DS_ACCELERATOR=cpu pip install .[dev,1bit,autotuning,inf]
|
|
#pip install .[dev,1bit,autotuning,inf,triton]
|
|
ds_report
|
|
|
|
- name: Python environment
|
|
run: |
|
|
pip list
|
|
|
|
- name: Unit tests
|
|
run: |
|
|
unset TORCH_CUDA_ARCH_LIST # only jit compile for current arch
|
|
cd tests
|
|
#pytest $PYTEST_OPTS -m 'seq_inference' unit/ --torch_ver="2.1" --cuda_ver="12.4"
|
|
pytest $PYTEST_OPTS -m 'inference_ops' unit/ --torch_ver="2.1" --cuda_ver="12.4"
|
|
pytest $PYTEST_OPTS --forked -n 4 -m 'inference' unit/ --torch_ver="2.1" --cuda_ver="12.4"
|
|
# run ds_report again to check updated op list
|
|
ds_report
|