mirror of
https://github.com/BillyOutlast/flash-attention-prebuild-wheels-rocm.git
synced 2026-07-01 01:27:54 -04:00
239 lines
8.5 KiB
YAML
239 lines
8.5 KiB
YAML
name: Build wheels and upload to GitHub Releases
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
create_releases:
|
|
name: Create Releases
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create Release
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release create "${{ github.ref_name }}" \
|
|
--title "${{ github.ref_name }}" \
|
|
--notes "TBD"
|
|
|
|
# #########################################################
|
|
# Linux
|
|
# #########################################################
|
|
# build_wheels_linux:
|
|
# name: Build Linux
|
|
# needs: create_releases
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# flash-attn-version: ["2.7.4"]
|
|
# python-version: ["3.10", "3.11", "3.12"]
|
|
# torch-version: ["2.5.1", "2.6.0", "2.7.1", "2.8.0"]
|
|
# # https://developer.nvidia.com/cuda-toolkit-archive
|
|
# cuda-version: ["12.4.1", "12.8.1", "12.9.1"]
|
|
# exclude:
|
|
# # torch < 2.2 does not support Python 3.12
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.0.1"
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.1.2"
|
|
# # torch 2.0.1 does not support CUDA 12.x
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.1.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.4.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.6.3"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.8.1"
|
|
# # torch 2.6.0 does not support CUDA 12.1
|
|
# - torch-version: "2.6.0"
|
|
# cuda-version: "12.1.1"
|
|
# # torch 2.7.0 does not support CUDA 12.4
|
|
# - torch-version: "2.7.0"
|
|
# cuda-version: "12.4.1"
|
|
# # torch < 2.8 does not support CUDA 12.9
|
|
# - torch-version: "2.5.1"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.6.3"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.7.1"
|
|
# cuda-version: "12.9.1"
|
|
# # flash-attn 2.7.4 does not build in GitHub Hosted Runner
|
|
# - flash-attn-version: "2.7.4"
|
|
# uses: ./.github/workflows/build_linux.yml
|
|
# with:
|
|
# flash-attn-version: ${{ matrix.flash-attn-version }}
|
|
# python-version: ${{ matrix.python-version }}
|
|
# torch-version: ${{ matrix.torch-version }}
|
|
# cuda-version: ${{ matrix.cuda-version }}
|
|
# secrets: inherit
|
|
|
|
# build_wheels_linux_self_hosted:
|
|
# name: Build Linux (self-hosted)
|
|
# needs: create_releases
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# flash-attn-version: ["2.7.4"]
|
|
# python-version: ["3.10", "3.11", "3.12"]
|
|
# torch-version: ["2.5.1", "2.6.0", "2.7.1", "2.8.0"]
|
|
# # https://developer.nvidia.com/cuda-toolkit-archive
|
|
# cuda-version: ["12.4.1", "12.8.1", "12.9.1"]
|
|
# exclude:
|
|
# # torch < 2.2 does not support Python 3.12
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.0.1"
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.1.2"
|
|
# # torch 2.0.1 does not support CUDA 12.x
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.1.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.4.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.6.3"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.8.1"
|
|
# # torch 2.6.0 does not support CUDA 12.1
|
|
# - torch-version: "2.6.0"
|
|
# cuda-version: "12.1.1"
|
|
# # torch 2.7.0 does not support CUDA 12.4
|
|
# - torch-version: "2.7.0"
|
|
# cuda-version: "12.4.1"
|
|
# # torch < 2.8 does not support CUDA 12.9
|
|
# - torch-version: "2.5.1"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.6.3"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.7.1"
|
|
# cuda-version: "12.9.1"
|
|
# uses: ./.github/workflows/build_linux_self_host.yml
|
|
# with:
|
|
# flash-attn-version: ${{ matrix.flash-attn-version }}
|
|
# python-version: ${{ matrix.python-version }}
|
|
# torch-version: ${{ matrix.torch-version }}
|
|
# cuda-version: ${{ matrix.cuda-version }}
|
|
# secrets: inherit
|
|
|
|
# #########################################################
|
|
# Windows
|
|
# #########################################################
|
|
# build_wheels_windows:
|
|
# name: Build Windows
|
|
# needs: create_releases
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# flash-attn-version: ["2.6.3", "2.7.4", "2.8.2"]
|
|
# python-version: ["3.10", "3.11", "3.12"]
|
|
# torch-version: ["2.5.1", "2.6.0", "2.7.1", "2.8.0"]
|
|
# # https://developer.nvidia.com/cuda-toolkit-archive
|
|
# cuda-version: ["12.4.1", "12.8.1"]
|
|
# exclude:
|
|
# # torch < 2.2 does not support Python 3.12
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.0.1"
|
|
# - python-version: "3.12"
|
|
# torch-version: "2.1.2"
|
|
# # torch 2.0.1 does not support CUDA 12.x
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.1.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.4.1"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.6.3"
|
|
# - torch-version: "2.0.1"
|
|
# cuda-version: "12.8.1"
|
|
# # torch 2.6.0 does not support CUDA 12.1
|
|
# - torch-version: "2.6.0"
|
|
# cuda-version: "12.1.1"
|
|
# # torch 2.7.0 does not support CUDA 12.4
|
|
# - torch-version: "2.7.0"
|
|
# cuda-version: "12.4.1"
|
|
# # torch < 2.8 does not support CUDA 12.9
|
|
# - torch-version: "2.5.1"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.6.3"
|
|
# cuda-version: "12.9.1"
|
|
# - torch-version: "2.7.1"
|
|
# cuda-version: "12.9.1"
|
|
# uses: ./.github/workflows/build_windows.yml
|
|
# with:
|
|
# flash-attn-version: ${{ matrix.flash-attn-version }}
|
|
# python-version: ${{ matrix.python-version }}
|
|
# torch-version: ${{ matrix.torch-version }}
|
|
# cuda-version: ${{ matrix.cuda-version }}
|
|
# secrets: inherit
|
|
|
|
build_wheels_windows_code_build:
|
|
name: Build Windows (AWS CodeBuild)
|
|
needs: create_releases
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
flash-attn-version: ["2.7.4", "2.8.2"]
|
|
python-version: ["3.10", "3.11", "3.12"]
|
|
torch-version: ["2.7.1", "2.8.0"]
|
|
# https://developer.nvidia.com/cuda-toolkit-archive
|
|
cuda-version: ["12.8.1"]
|
|
exclude:
|
|
# torch < 2.2 does not support Python 3.12
|
|
- python-version: "3.12"
|
|
torch-version: "2.0.1"
|
|
- python-version: "3.12"
|
|
torch-version: "2.1.2"
|
|
# torch 2.0.1 does not support CUDA 12.x
|
|
- torch-version: "2.0.1"
|
|
cuda-version: "12.1.1"
|
|
- torch-version: "2.0.1"
|
|
cuda-version: "12.4.1"
|
|
- torch-version: "2.0.1"
|
|
cuda-version: "12.6.3"
|
|
- torch-version: "2.0.1"
|
|
cuda-version: "12.8.1"
|
|
# torch 2.6.0 does not support CUDA 12.1
|
|
- torch-version: "2.6.0"
|
|
cuda-version: "12.1.1"
|
|
# torch 2.7.0 does not support CUDA 12.4
|
|
- torch-version: "2.7.0"
|
|
cuda-version: "12.4.1"
|
|
# torch < 2.8 does not support CUDA 12.9
|
|
- torch-version: "2.5.1"
|
|
cuda-version: "12.9.1"
|
|
- torch-version: "2.6.3"
|
|
cuda-version: "12.9.1"
|
|
- torch-version: "2.7.1"
|
|
cuda-version: "12.9.1"
|
|
uses: ./.github/workflows/build_windows_code_build.yml
|
|
with:
|
|
flash-attn-version: ${{ matrix.flash-attn-version }}
|
|
python-version: ${{ matrix.python-version }}
|
|
torch-version: ${{ matrix.torch-version }}
|
|
cuda-version: ${{ matrix.cuda-version }}
|
|
secrets: inherit
|
|
|
|
update_release_notes:
|
|
name: Update Release Notes
|
|
# needs:
|
|
# [build_wheels_linux, build_wheels_linux_self_hosted, build_wheels_windows]
|
|
needs: [build_wheels_windows_code_build]
|
|
if: always()
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.12
|
|
|
|
- name: Generate Release Notes
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release view "${{ github.ref_name }}" --json assets > /tmp/assets.json
|
|
python create_release_note.py /tmp/assets.json > /tmp/release_notes.md
|
|
gh release edit "${{ github.ref_name }}" --notes-file /tmp/release_notes.md
|