mirror of
https://github.com/hpcaitech/ColossalAI.git
synced 2025-08-01 15:54:14 +00:00
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
name: Check CUDA Extension Build Before Merge
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- 'version.txt'
|
|
|
|
jobs:
|
|
matrix_preparation:
|
|
name: Prepare Container List
|
|
if: github.repository == 'hpcaitech/ColossalAI'
|
|
runs-on: [self-hosted, ubuntu-latest]
|
|
outputs:
|
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- id: set-matrix
|
|
run: |
|
|
cuda_ext=$(cat .cuda_ext.json | tr '\n' ' ')
|
|
echo "matrix=${cuda_ext}" >> $GITHUB_OUTPUT
|
|
|
|
build:
|
|
name: Release bdist wheels
|
|
needs: matrix_preparation
|
|
runs-on: [self-hosted, ubuntu-latest]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix: ${{fromJson(needs.matrix_preparation.outputs.matrix)}}
|
|
container:
|
|
image: ${{ matrix.build.cuda_image }}
|
|
options: --gpus all --rm
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install PyTorch
|
|
run: eval ${{ matrix.build.torch_command }}
|
|
|
|
- name: Download cub for CUDA 10.2
|
|
run: |
|
|
CUDA_VERSION=$(nvcc -V | awk -F ',| ' '/release/{print $6}')
|
|
|
|
# check if it is CUDA 10.2
|
|
# download cub
|
|
if [ "$CUDA_VERSION" = "10.2" ]; then
|
|
wget https://github.com/NVIDIA/cub/archive/refs/tags/1.8.0.zip
|
|
unzip 1.8.0.zip
|
|
cp -r cub-1.8.0/cub/ colossalai/kernel/cuda_native/csrc/kernels/include/
|
|
fi
|
|
|
|
- name: Build
|
|
run: |
|
|
BUILD_EXT=1 pip install -v -e .
|