83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
name: nv-pre-compile-ops
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
branches:
|
|
'**'
|
|
merge_group:
|
|
branches: [ master ]
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check-paths:
|
|
name: nv-pre-compile-ops / check paths
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
outputs:
|
|
should_run: ${{ steps.non_pr.outputs.should_run || steps.filter.outputs.run_tests }}
|
|
steps:
|
|
- id: non_pr
|
|
if: github.event_name != 'pull_request'
|
|
run: echo "should_run=true" >> "$GITHUB_OUTPUT"
|
|
|
|
- uses: actions/checkout@v4
|
|
if: github.event_name == 'pull_request'
|
|
|
|
- uses: dorny/paths-filter@v3
|
|
id: filter
|
|
if: github.event_name == 'pull_request'
|
|
with:
|
|
predicate-quantifier: every
|
|
filters: |
|
|
run_tests:
|
|
- '**'
|
|
- '!docs/**'
|
|
- '!blogs/**'
|
|
- '!deepspeed/inference/v2/**'
|
|
- '!tests/unit/inference/v2/**'
|
|
|
|
unit-tests:
|
|
name: nv-pre-compile-ops / precompile ops
|
|
needs: check-paths
|
|
if: ${{ !cancelled() && (needs.check-paths.result != 'success' || needs.check-paths.outputs.should_run == 'true') }}
|
|
runs-on: ubuntu-24.04
|
|
container:
|
|
image: nvidia/cuda:12.6.3-devel-ubuntu22.04
|
|
|
|
steps:
|
|
- name: Fail if path filter failed
|
|
if: needs.check-paths.result != 'success'
|
|
run: exit 1
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
apt-get update && apt-get install -y git python3 python3-pip libaio-dev ninja-build
|
|
ln -sf /usr/bin/python3 /usr/bin/python
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install PyTorch
|
|
run: |
|
|
pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cu126
|
|
|
|
- name: environment
|
|
run: |
|
|
which python
|
|
python --version
|
|
python -c "import torch; print('torch:', torch.__version__, torch)"
|
|
#python -c "import torch; print('CUDA available:', torch.cuda.is_available())"
|
|
- name: Compile DeepSpeed Ops
|
|
run: |
|
|
DS_ACCELERATOR=cuda DS_ENABLE_NINJA=1 TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;8.9;9.0" DS_BUILD_OPS=1 DS_BUILD_SPARSE_ATTN=0 DS_BUILD_FP_QUANTIZER=0 DS_BUILD_CUTLASS_OPS=0 DS_BUILD_GDS=0 DS_BUILD_RAGGED_DEVICE_OPS=0 DS_BUILD_EVOFORMER_ATTN=0 DS_BUILD_DEEP_COMPILE=0 pip3 install .
|
|
- name: DS Report
|
|
run: |
|
|
DS_ACCELERATOR=cuda ds_report
|