mirror of
https://github.com/modelscope/FunASR.git
synced 2026-10-12 02:19:18 +00:00
Add Windows CUDA llama.cpp release asset
Adds a Windows x64 CUDA release asset for the llama.cpp SenseVoice runtime, with CUDA Toolkit setup, architecture-86 build flags, focused SenseVoice target packaging, docs, and workflow regression tests. Manual workflow dispatch 29656771776 passed all build matrix jobs including build-windows-x64-cuda.
This commit is contained in:
@@ -82,13 +82,48 @@ jobs:
|
||||
-DGGML_FMA=ON
|
||||
-DGGML_F16C=ON
|
||||
-DGGML_BMI2=ON
|
||||
- os: windows-latest
|
||||
name: windows-x64-cuda
|
||||
cuda: true
|
||||
cuda_version: '13.2.0'
|
||||
cuda_architectures: '86'
|
||||
build_target: llama-funasr-sensevoice
|
||||
timeout_minutes: 90
|
||||
cmake_flags: >-
|
||||
-DGGML_NATIVE=OFF
|
||||
-DGGML_CUDA=ON
|
||||
-DGGML_CUDA_FORCE_CUBLAS=ON
|
||||
-DGGML_CUDA_FA=OFF
|
||||
-DGGML_CUDA_NCCL=OFF
|
||||
-DGGML_CUDA_GRAPHS=OFF
|
||||
-DGGML_AVX=OFF
|
||||
-DGGML_AVX2=OFF
|
||||
-DGGML_AVX_VNNI=OFF
|
||||
-DGGML_AVX512=OFF
|
||||
-DGGML_AVX512_VBMI=OFF
|
||||
-DGGML_AVX512_VNNI=OFF
|
||||
-DGGML_AVX512_BF16=OFF
|
||||
-DGGML_FMA=OFF
|
||||
-DGGML_F16C=OFF
|
||||
-DGGML_BMI2=OFF
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: ${{ matrix.timeout_minutes || 30 }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: runtime/llama.cpp
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install CUDA Toolkit
|
||||
if: matrix.cuda
|
||||
uses: Jimver/[email protected]
|
||||
with:
|
||||
cuda: ${{ matrix.cuda_version }}
|
||||
method: network
|
||||
log-file-suffix: ${{ matrix.name }}.txt
|
||||
- name: Show CUDA compiler
|
||||
if: matrix.cuda
|
||||
run: nvcc --version
|
||||
- name: Configure and build
|
||||
run: |
|
||||
# Release binaries must be portable across user machines, not tuned to
|
||||
@@ -96,8 +131,23 @@ jobs:
|
||||
# AVX-VNNI instructions and then crash with SIGILL on ordinary CPUs.
|
||||
# Keep the default x64 package conservative, and publish explicit
|
||||
# x64-avx2 assets for machines that support AVX2/FMA/F16C/BMI2.
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }}
|
||||
cmake --build build --config Release -j 2
|
||||
# The CUDA release asset is SenseVoiceSmall-specific for now; building
|
||||
# only that target keeps the Windows CUDA job bounded and matches the
|
||||
# backend currently exposed by `--backend cuda`.
|
||||
cmake_args=(
|
||||
-B build
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
${{ matrix.cmake_flags }}
|
||||
)
|
||||
if [ -n "${{ matrix.cuda_architectures }}" ]; then
|
||||
cmake_args+=("-DCMAKE_CUDA_ARCHITECTURES=${{ matrix.cuda_architectures }}")
|
||||
fi
|
||||
cmake "${cmake_args[@]}"
|
||||
if [ -n "${{ matrix.build_target }}" ]; then
|
||||
cmake --build build --config Release -j 2 --target "${{ matrix.build_target }}"
|
||||
else
|
||||
cmake --build build --config Release -j 2
|
||||
fi
|
||||
- name: Package
|
||||
run: |
|
||||
mkdir -p pkg
|
||||
@@ -135,4 +185,4 @@ jobs:
|
||||
gh release create "$tag" dist/* \
|
||||
--repo "${{ github.repository }}" \
|
||||
--title "FunASR llama.cpp runtime $version" \
|
||||
--notes "Prebuilt self-contained binaries for the FunASR llama.cpp / GGUF runtime: SenseVoice, Paraformer and Fun-ASR-Nano with built-in FSMN-VAD. Download the default quantized model with \`bash download-funasr-model.sh <sensevoice|paraformer|nano>\` (the helper requires the Hugging Face CLI: \`pip install -U huggingface_hub\`), then run \`llama-funasr-cli\` / \`llama-funasr-sensevoice\` / \`llama-funasr-paraformer\`. Use the default x64 asset for maximum CPU compatibility; use the x64-avx2 asset on CPUs with AVX2/FMA/F16C/BMI2 for higher throughput. No Python ASR runtime or local build is required. Docs: $docs"
|
||||
--notes "Prebuilt self-contained binaries for the FunASR llama.cpp / GGUF runtime: SenseVoice, Paraformer and Fun-ASR-Nano with built-in FSMN-VAD. Download the default quantized model with \`bash download-funasr-model.sh <sensevoice|paraformer|nano>\` (the helper requires the Hugging Face CLI: \`pip install -U huggingface_hub\`), then run \`llama-funasr-cli\` / \`llama-funasr-sensevoice\` / \`llama-funasr-paraformer\`. Use the default x64 asset for maximum CPU compatibility; use the x64-avx2 asset on CPUs with AVX2/FMA/F16C/BMI2 for higher throughput. The Windows CUDA asset is \`windows-x64-cuda\`; it requires an NVIDIA driver compatible with the CUDA Toolkit version configured by the release workflow, targets CUDA architecture 86, and enables SenseVoiceSmall graph execution with \`llama-funasr-sensevoice ... --backend cuda\`. Build from source for other GPU architectures. No Python ASR runtime or local build is required. Docs: $docs"
|
||||
|
||||
Reference in New Issue
Block a user