Add Windows CUDA llama.cpp release asset#3248
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the README.md to document the new Windows CUDA release package and adds a test suite (test_release_workflow.py) to verify the GitHub Actions workflow configuration. The review feedback highlights three main issues: a factual error in the documentation regarding the CUDA version (referencing non-existent CUDA 13.2 instead of 12.x), a brittle test assertion on the exact version of a third-party GitHub Action, and a logic error in a test that reads the workflow file instead of the README.md to assert documentation content.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| `--backend cpu` remains the default and is what the portable cross-platform | ||
| prebuilt binaries use. Tagged runtime releases also publish a | ||
| `funasr-llamacpp-windows-x64-cuda.zip` package when the Windows CUDA release job | ||
| passes; it requires an NVIDIA driver compatible with CUDA 13.2. A binary built |
There was a problem hiding this comment.
CUDA 13.2 is not an existing CUDA version (the current major version is 12). This should be updated to the actual CUDA version configured in the workflow (e.g., 12.x or 12.2/12.3) to avoid user confusion.
| passes; it requires an NVIDIA driver compatible with CUDA 13.2. A binary built | |
| passes; it requires an NVIDIA driver compatible with CUDA 12.x. A binary built |
| def test_windows_cuda_build_uses_cuda_toolkit_and_flags(): | ||
| workflow = WORKFLOW.read_text(encoding="utf-8") | ||
|
|
||
| assert "Jimver/cuda-toolkit@v0.2.35" in workflow |
There was a problem hiding this comment.
Asserting the exact version of a third-party GitHub Action makes the test brittle and prone to failure when the action is updated in the workflow. Asserting just the action name is more robust.
| assert "Jimver/cuda-toolkit@v0.2.35" in workflow | |
| assert "Jimver/cuda-toolkit" in workflow |
| def test_release_notes_explain_cpu_and_cuda_windows_assets(): | ||
| workflow = WORKFLOW.read_text(encoding="utf-8") | ||
|
|
||
| assert "windows-x64-cuda" in workflow | ||
| assert "--backend cuda" in workflow | ||
| assert "Windows CUDA" in workflow |
There was a problem hiding this comment.
The test reads the GitHub Actions workflow file (WORKFLOW) but asserts strings that are documented in the README.md (such as --backend cuda and Windows CUDA). This appears to be a copy-paste error from previous tests. Reading the README.md file instead makes the test correct and meaningful.
| def test_release_notes_explain_cpu_and_cuda_windows_assets(): | |
| workflow = WORKFLOW.read_text(encoding="utf-8") | |
| assert "windows-x64-cuda" in workflow | |
| assert "--backend cuda" in workflow | |
| assert "Windows CUDA" in workflow | |
| def test_release_notes_explain_cpu_and_cuda_windows_assets(): | |
| readme_path = ROOT / "runtime" / "llama.cpp" / "README.md" | |
| readme = readme_path.read_text(encoding="utf-8") | |
| assert "windows-x64-cuda" in readme | |
| assert "--backend cuda" in readme | |
| assert "Windows CUDA" in readme |
|
Update on the Windows CUDA asset branch: I pushed Why: the original request in #3243 is for SenseVoiceSmall on Windows CUDA, while the previous matrix row was compiling every llama.cpp runtime tool with CUDA enabled. The new head keeps the same Validation before push:
I cancelled the old all-target CUDA run and started a fresh branch workflow on this head: https://github.com/modelscope/FunASR/actions/runs/29650577183 |
|
Addressed the review feedback on head Changes:
Local validation on
|
|
Follow-up on head Validation on
|
|
Optimization follow-up on head Validation on
|
|
Follow-up on head Changes:
Validation on
|
|
Follow-up on head Validation on
|
|
Follow-up on head
Validation on
|
|
Follow-up on the Windows CUDA failure in run 29655977963:
Local validation on ind-gpu8:
Manual workflow dispatch is running at https://github.com/modelscope/FunASR/actions/runs/29656771776. |
Summary
Follow-up for #3243 after the runtime backend flag landed: add a Windows CUDA prebuilt release asset for the llama.cpp / GGUF runtime.
This keeps the existing portable CPU assets unchanged and adds a dedicated
windows-x64-cudamatrix row that:-DGGML_CUDA=ONGGML_CUDA_FA, NCCL, graphs)funasr-llamacpp-windows-x64-cuda.ziprelease package and--backend cudainvocationValidation
python -m pytest runtime/llama.cpp/tests/test_release_workflow.py runtime/llama.cpp/tests/test_backend_flags.py -q-> 5 passedgit diff --checkwindows-x64-cudais CUDA-enabled