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:
zhifu gao
2026-07-19 03:24:07 +08:00
committed by GitHub
parent 57721fc8ce
commit f1e287edc2
4 changed files with 109 additions and 7 deletions
+53 -3
View File
@@ -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"