-
Notifications
You must be signed in to change notification settings - Fork 535
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide pre-built wheels with CUDA support. (#1143)
- Loading branch information
1 parent
803c02d
commit 4198d9a
Showing
4 changed files
with
233 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
name: build-wheels-linux-cuda | ||
|
||
on: | ||
push: | ||
branches: | ||
- wheel | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+*' | ||
workflow_dispatch: | ||
|
||
env: | ||
SHERPA_ONNX_IS_IN_GITHUB_ACTIONS: 1 | ||
|
||
concurrency: | ||
group: build-wheels-linux-cuda-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build_wheels_linux_cuda: | ||
name: ${{ matrix.manylinux }} ${{ matrix.python-version }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-20.04] | ||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install Python dependencies | ||
shell: bash | ||
run: | | ||
pip install -U pip wheel setuptools twine | ||
- name: Build alsa-lib | ||
shell: bash | ||
run: | | ||
git clone --depth 1 --branch v1.2.12 https://github.com/alsa-project/alsa-lib | ||
cd alsa-lib | ||
./gitcompile | ||
- name: Build sherpa-onnx | ||
shell: bash | ||
run: | | ||
export CPLUS_INCLUDE_PATH=$PWD/alsa-lib/include:$CPLUS_INCLUDE_PATH | ||
export SHERPA_ONNX_ALSA_LIB_DIR=$PWD/alsa-lib/src/.libs | ||
export LD_LIBRARY_PATH=$SHERPA_ONNX_ALSA_LIB_DIR:$LD_LIBRARY_PATH | ||
echo "CPLUS_INCLUDE_PATH: $CPLUS_INCLUDE_PATH" | ||
ls -lh $PWD/alsa-lib/include | ||
echo "---" | ||
ls -lh $PWD/alsa-lib/src/.libs | ||
export SHERPA_ONNX_MAKE_ARGS="VERBOSE=1" | ||
export SHERPA_ONNX_ENABLE_ALSA=1 | ||
export SHERPA_ONNX_CMAKE_ARGS="-DSHERPA_ONNX_ENABLE_GPU=ON" | ||
python3 setup.py bdist_wheel | ||
ls -lh dist | ||
mv dist wheelhouse | ||
- name: Display wheels | ||
shell: bash | ||
run: | | ||
ls -lh ./wheelhouse/ | ||
- name: Install patchelf | ||
shell: bash | ||
run: | | ||
sudo apt-get update -q | ||
sudo apt-get install -q -y patchelf | ||
patchelf --help | ||
- name: Patch wheels | ||
shell: bash | ||
run: | | ||
mkdir ./wheels | ||
sudo ./scripts/wheel/patch_wheel.py --in-dir ./wheelhouse --out-dir ./wheels | ||
ls -lh ./wheels/ | ||
rm -rf ./wheelhouse | ||
mv ./wheels ./wheelhouse | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: wheel-cuda-${{ matrix.python-version }} | ||
path: ./wheelhouse/*.whl | ||
|
||
- name: Publish to huggingface | ||
env: | ||
HF_TOKEN: ${{ secrets.HF_TOKEN }} | ||
uses: nick-fields/retry@v3 | ||
with: | ||
max_attempts: 20 | ||
timeout_seconds: 200 | ||
shell: bash | ||
command: | | ||
git config --global user.email "csukuangfj@gmail.com" | ||
git config --global user.name "Fangjun Kuang" | ||
rm -rf huggingface | ||
export GIT_LFS_SKIP_SMUDGE=1 | ||
export GIT_CLONE_PROTECTION_ACTIVE=false | ||
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2) | ||
echo "SHERPA_ONNX_VERSION $SHERPA_ONNX_VERSION" | ||
d=cuda/$SHERPA_ONNX_VERSION | ||
git clone https://huggingface.co/csukuangfj/sherpa-onnx-wheels huggingface | ||
cd huggingface | ||
git fetch | ||
git pull | ||
git merge -m "merge remote" --ff origin main | ||
mkdir -p $d | ||
cp -v ../wheelhouse/*.whl $d/ | ||
git status | ||
git add . | ||
git commit -m "add more wheels" | ||
git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/sherpa-onnx-wheels main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
name: build-wheels-win64-cuda | ||
|
||
on: | ||
push: | ||
branches: | ||
- wheel | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+*' | ||
workflow_dispatch: | ||
|
||
env: | ||
SHERPA_ONNX_IS_IN_GITHUB_ACTIONS: 1 | ||
|
||
concurrency: | ||
group: build-wheels-win64-cuda-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build_wheels_win64_cuda: | ||
name: ${{ matrix.python-version }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [windows-2019] | ||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Build wheels | ||
shell: bash | ||
run: | | ||
pip install setuptools wheel | ||
export SHERPA_ONNX_CMAKE_ARGS="-DSHERPA_ONNX_ENABLE_GPU=ON" | ||
python3 setup.py bdist_wheel | ||
ls -lh ./dist/ | ||
mv dist wheelhouse | ||
- name: Display wheels | ||
shell: bash | ||
run: | | ||
ls -lh ./wheelhouse/ | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: wheel-${{ matrix.python-version }} | ||
path: ./wheelhouse/*.whl | ||
|
||
- name: Publish to huggingface | ||
env: | ||
HF_TOKEN: ${{ secrets.HF_TOKEN }} | ||
uses: nick-fields/retry@v3 | ||
with: | ||
max_attempts: 20 | ||
timeout_seconds: 200 | ||
shell: bash | ||
command: | | ||
git config --global user.email "csukuangfj@gmail.com" | ||
git config --global user.name "Fangjun Kuang" | ||
rm -rf huggingface | ||
export GIT_LFS_SKIP_SMUDGE=1 | ||
export GIT_CLONE_PROTECTION_ACTIVE=false | ||
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2) | ||
echo "SHERPA_ONNX_VERSION $SHERPA_ONNX_VERSION" | ||
d=cuda/$SHERPA_ONNX_VERSION | ||
git clone https://huggingface.co/csukuangfj/sherpa-onnx-wheels huggingface | ||
cd huggingface | ||
git fetch | ||
git pull | ||
git merge -m "merge remote" --ff origin main | ||
mkdir -p $d | ||
cp -v ../wheelhouse/*.whl $d/ | ||
git status | ||
git add . | ||
git commit -m "add more wheels" | ||
git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/sherpa-onnx-wheels main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters