| | name: Build AutoAWQ Wheels with CUDA |
| |
|
| | on: |
| | push: |
| | tags: |
| | - "v*" |
| |
|
| | jobs: |
| | release: |
| | |
| | name: Create Release |
| | runs-on: ubuntu-latest |
| | outputs: |
| | upload_url: ${{ steps.create_release.outputs.upload_url }} |
| | steps: |
| | - name: Checkout |
| | uses: actions/checkout@v3 |
| |
|
| | - name: Extract branch info |
| | shell: bash |
| | run: | |
| | echo "release_tag=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV |
| | |
| | - name: Create Release |
| | id: create_release |
| | uses: "actions/github-script@v6" |
| | env: |
| | RELEASE_TAG: ${{ env.release_tag }} |
| | with: |
| | github-token: "${{ secrets.GITHUB_TOKEN }}" |
| | script: | |
| | const script = require('.github/workflows/scripts/github_create_release.js') |
| | await script(github, context, core) |
| | |
| | build_cuda_wheels: |
| | name: Build AWQ with CUDA |
| | runs-on: ${{ matrix.os }} |
| | needs: release |
| |
|
| | strategy: |
| | matrix: |
| | os: [ubuntu-20.04, windows-latest] |
| | pyver: ["3.8", "3.9", "3.10", "3.11", "3.12"] |
| | cuda: ["11.8.0", "12.1.1"] |
| | defaults: |
| | run: |
| | shell: pwsh |
| | env: |
| | PYPI_CUDA_VERSION: "12.1.1" |
| | CUDA_VERSION: ${{ matrix.cuda }} |
| |
|
| | steps: |
| | - name: Free Disk Space |
| | uses: jlumbroso/free-disk-space@v1.3.0 |
| | if: runner.os == 'Linux' |
| | with: |
| | tool-cache: false |
| | android: true |
| | dotnet: true |
| | haskell: true |
| | large-packages: false |
| | docker-images: true |
| | swap-storage: false |
| |
|
| | - uses: actions/checkout@v3 |
| |
|
| | - uses: actions/setup-python@v3 |
| | with: |
| | python-version: ${{ matrix.pyver }} |
| |
|
| | - name: Setup Mamba |
| | uses: conda-incubator/setup-miniconda@v2.2.0 |
| | with: |
| | activate-environment: "build" |
| | python-version: ${{ matrix.pyver }} |
| | miniforge-variant: Mambaforge |
| | miniforge-version: latest |
| | use-mamba: true |
| | add-pip-as-python-dependency: true |
| | auto-activate-base: false |
| |
|
| | - name: Install Dependencies |
| | run: | |
| | # Install CUDA toolkit |
| | mamba install -y 'cuda' -c "nvidia/label/cuda-${env:CUDA_VERSION}" |
| | |
| | |
| | $env:CUDA_PATH = $env:CONDA_PREFIX |
| | $env:CUDA_HOME = $env:CONDA_PREFIX |
| |
|
| | |
| | $cudaVersion = $env:CUDA_VERSION.Replace('.', '') |
| | $cudaVersionPytorch = $cudaVersion.Substring(0, $cudaVersion.Length - 1) |
| | $pytorchVersion = "torch==2.3.1" |
| | python -m pip install --upgrade --no-cache-dir $pytorchVersion+cu$cudaVersionPytorch --index-url https://download.pytorch.org/whl/cu$cudaVersionPytorch |
| | python -m pip install build setuptools wheel ninja |
| |
|
| | |
| | python --version |
| | python -c "import torch; print('PyTorch:', torch.__version__)" |
| | python -c "import torch; print('CUDA:', torch.version.cuda)" |
| | python -c "import os; print('CUDA_HOME:', os.getenv('CUDA_HOME', None))" |
| | python -c "from torch.utils import cpp_extension; print (cpp_extension.CUDA_HOME)" |
| |
|
| | - name: Build Wheel |
| | run: | |
| | $env:CUDA_PATH = $env:CONDA_PREFIX |
| | $env:CUDA_HOME = $env:CONDA_PREFIX |
| | |
| | |
| | if ( $env:CUDA_VERSION -eq $env:PYPI_CUDA_VERSION ){ |
| | $env:PYPI_BUILD = 1 |
| | } |
| |
|
| | python setup.py sdist bdist_wheel |
| |
|
| | - name: Upload Assets |
| | uses: shogo82148/actions-upload-release-asset@v1 |
| | with: |
| | upload_url: ${{ needs.release.outputs.upload_url }} |
| | asset_path: ./dist/*.whl |
| |
|
| | build_rocm_wheels: |
| | name: Build AWQ with ROCm |
| | runs-on: ${{ matrix.os }} |
| | needs: release |
| |
|
| | strategy: |
| | matrix: |
| | os: [ubuntu-20.04] |
| | python: ["3.8", "3.9", "3.10", "3.11"] |
| | rocm: ["5.6.1", "5.7.1"] |
| | defaults: |
| | run: |
| | shell: bash |
| | env: |
| | ROCM_VERSION: ${{ matrix.rocm }} |
| |
|
| | steps: |
| | - uses: actions/checkout@v3 |
| |
|
| | - name: Free Disk Space |
| | run: | |
| | df -h |
| | echo "Removing large packages" |
| | sudo apt-get remove -y '^dotnet-.*' |
| | sudo apt-get remove -y 'php.*' |
| | sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel |
| | df -h |
| | sudo apt-get autoremove -y >/dev/null 2>&1 |
| | sudo apt-get clean |
| | sudo apt-get autoremove -y >/dev/null 2>&1 |
| | sudo apt-get autoclean -y >/dev/null 2>&1 |
| | df -h |
| | echo "https://github.com/actions/virtual-environments/issues/709" |
| | sudo rm -rf "$AGENT_TOOLSDIRECTORY" |
| | df -h |
| | echo "remove big /usr/local" |
| | sudo rm -rf "/usr/local/share/boost" |
| | sudo rm -rf /usr/local/lib/android >/dev/null 2>&1 |
| | df -h |
| | sudo rm -rf /usr/share/dotnet/sdk > /dev/null 2>&1 |
| | sudo rm -rf /usr/share/dotnet/shared > /dev/null 2>&1 |
| | sudo rm -rf /usr/share/swift > /dev/null 2>&1 |
| | df -h |
| | |
| | - uses: actions/setup-python@v3 |
| | with: |
| | python-version: ${{ matrix.python }} |
| |
|
| | - name: Setup Mamba |
| | uses: conda-incubator/setup-miniconda@v2.2.0 |
| | with: |
| | activate-environment: "build" |
| | python-version: ${{ matrix.python }} |
| | mamba-version: "*" |
| | use-mamba: false |
| | channels: conda-forge,defaults |
| | channel-priority: true |
| | add-pip-as-python-dependency: true |
| | auto-activate-base: false |
| |
|
| | - name: Set up ROCm |
| | run: | |
| | echo "Using python:" |
| | python --version |
| | which python |
| | |
| | if [[ "${{ matrix.rocm }}" == "5.4.2" ]]; then |
| | export ROCM_DL_FILE=amdgpu-install_5.4.50402-1_all.deb |
| | elif [[ "${{ matrix.rocm }}" == "5.6.1" ]]; then |
| | export ROCM_DL_FILE=amdgpu-install_5.6.50601-1_all.deb |
| | elif [[ "${{ matrix.rocm }}" == "5.7.1" ]]; then |
| | export ROCM_DL_FILE=amdgpu-install_5.7.50701-1_all.deb |
| | else |
| | echo Unknown rocm version |
| | exit 1 |
| | fi |
| |
|
| | curl -O https://repo.radeon.com/amdgpu-install/${{ matrix.rocm }}/ubuntu/focal/$ROCM_DL_FILE |
| | sudo dpkg -i $ROCM_DL_FILE |
| | sudo DEBIAN_FRONTEND=noninteractive amdgpu-install --usecase=rocm --no-dkms --no-32 -y |
| |
|
| | - name: Install Dependencies |
| | run: | |
| | sudo apt-get update |
| | sudo apt-get install -y --no-install-recommends rocsparse-dev rocthrust-dev rocblas-dev hipblas-dev hipsparse-dev |
| | |
| | python -m pip install --upgrade build setuptools wheel |
| |
|
| | if [[ "${{ matrix.rocm }}" == "5.7.1" ]]; then |
| | python -m pip install torch==2.3.1 --index-url https://download.pytorch.org/whl/rocm5.7 |
| | elif [[ "${{ matrix.rocm }}" == "5.6.1" ]]; then |
| | python -m pip install torch==2.3.1 --index-url https://download.pytorch.org/whl/rocm5.6 |
| | else |
| | echo Unknown rocm version for python install |
| | exit 1 |
| | fi |
| |
|
| | - name: Build Wheel |
| | run: | |
| | echo "Using python for build:" |
| | python --version |
| | which python |
| | |
| | ROCM_VERSION=${{ matrix.rocm }} python setup.py sdist bdist_wheel |
| |
|
| | - name: Upload Assets |
| | uses: shogo82148/actions-upload-release-asset@v1 |
| | with: |
| | upload_url: ${{ needs.release.outputs.upload_url }} |
| | asset_path: ./dist/*.whl |
| |
|