|
32 | 32 | description: "Upload wheel to this release" |
33 | 33 | required: false |
34 | 34 | type: string |
| 35 | + arch: |
| 36 | + description: "Target a single compute capability. Leave empty to build default archs" |
| 37 | + required: false |
| 38 | + type: string |
35 | 39 |
|
36 | 40 | defaults: |
37 | 41 | run: |
|
59 | 63 | echo "MATRIX_TORCH_VERSION=$(echo ${{ inputs.torch-version }} | awk -F \. {'print $1 "." $2'})" >> $GITHUB_ENV |
60 | 64 | echo "WHEEL_CUDA_VERSION=$(echo ${{ inputs.cuda-version }} | awk -F \. {'print $1'})" >> $GITHUB_ENV |
61 | 65 | echo "MATRIX_PYTHON_VERSION=$(echo ${{ inputs.python-version }} | awk -F \. {'print $1 $2'})" >> $GITHUB_ENV |
| 66 | + echo "MATRIX_ARCH=${{ inputs.arch }}" >> $GITHUB_ENV |
62 | 67 |
|
63 | 68 | - name: Free up disk space |
64 | 69 | if: ${{ runner.os == 'Linux' }} |
@@ -170,12 +175,21 @@ jobs: |
170 | 175 | export FLASH_DMATTN_FORCE_BUILD="TRUE" |
171 | 176 | export FLASH_DMATTN_FORCE_CXX11_ABI=${{ inputs.cxx11_abi }} |
172 | 177 |
|
| 178 | + # If specified, limit to a single compute capability to speed up build |
| 179 | + if [ -n "${MATRIX_ARCH}" ]; then |
| 180 | + export FLASH_DMATTN_CUDA_ARCHS="${MATRIX_ARCH}" |
| 181 | + fi |
| 182 | +
|
173 | 183 | # 5h timeout since GH allows max 6h and we want some buffer |
174 | 184 | EXIT_CODE=0 |
175 | 185 | timeout 5h python setup.py bdist_wheel --dist-dir=dist || EXIT_CODE=$? |
176 | 186 |
|
177 | 187 | if [ $EXIT_CODE -eq 0 ]; then |
178 | | - tmpname=cu${WHEEL_CUDA_VERSION}torch${MATRIX_TORCH_VERSION}cxx11abi${{ inputs.cxx11_abi }} |
| 188 | + if [ -n "${MATRIX_ARCH}" ]; then |
| 189 | + tmpname=sm${MATRIX_ARCH}cu${WHEEL_CUDA_VERSION}torch${MATRIX_TORCH_VERSION}cxx11abi${{ inputs.cxx11_abi }} |
| 190 | + else |
| 191 | + tmpname=cu${WHEEL_CUDA_VERSION}torch${MATRIX_TORCH_VERSION}cxx11abi${{ inputs.cxx11_abi }} |
| 192 | + fi |
179 | 193 | wheel_name=$(ls dist/*whl | xargs -n 1 basename | sed "s/-/+$tmpname-/2") |
180 | 194 | ls dist/*whl |xargs -I {} mv {} dist/${wheel_name} |
181 | 195 | echo "wheel_name=${wheel_name}" >> $GITHUB_ENV |
|
0 commit comments