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