[Bug] Vulkan backend crashes on AMD GPUs on Windows (0xc0000005)
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
調査の方向性
まず、ドキュメントに記載された PowerShell コマンドを Vulkan バックエンドで再現し、その挙動を CPU モードおよび一覧にある GGML_VK の回避策と比較します。リンクされた upstream の Vulkan クラッシュレポートを確認し、提案されている範囲 — ドキュメント化、ランタイムオプション、またはドライバー機能の処理 — のうち、どれをサポートできるかを判断します。完了の条件は、AMD/Windows で再現可能な結果と、定義された軽減策があることです。
索引モデルが issue の本文から書いたものです。
説明
Bug Report: llama-funasr-sensevoice Vulkan Backend Crashes on AMD GPUs on Windows
中文报告
问题描述
在 Windows 系统下,使用 llama-funasr-sensevoice.exe 的 Vulkan 后端(--backend vulkan)时,程序在 AMD GPU 上崩溃,异常代码 0xc0000005(访问冲突)。
环境信息
- OS: Windows 11
- GPU: AMD Radeon RX 7600M XT (RDNA3) + AMD Radeon 780M (RDNA3, integrated)
- AMD 驱动版本: 32.0.31035.1003 (2026年7月24日,最新版)
- FunASR 版本: runtime-llamacpp-v0.1.9 (funasr-llamacpp-windows-x64-vulkan.zip)
- 模型: sensevoice-small-f16.gguf + fsmn-vad.gguf
复现步骤
- 下载并解压
funasr-llamacpp-windows-x64-vulkan.zip - 下载模型:
sensevoice-small-f16.gguf和fsmn-vad.gguf - 运行命令:
.\llama-funasr-sensevoice.exe -m models\sensevoice-small-f16.gguf --vad models\fsmn-vad.gguf -a audio\examples\zh.mp3 --backend vulkan
预期行为
程序应使用 AMD GPU (Vulkan) 完成语音识别并输出转录文本。
实际行为
程序在 GPU 设备检测后立即崩溃,Windows 事件查看器显示:
Application Error: llama-funasr-sensevoice.exe
Exception Code: 0xc0000005 (Access Violation)
Faulting Module: llama-funasr-sensevoice.exe
Faulting Offset: 0x0000000000271743
已尝试的解决方法
- ✅ CPU 模式 — 正常工作,转录结果正确
- ❌ 设置
GGML_VK_DISABLE_COOPMAT=1— coopmat 成功禁用(matrix cores: none),但崩溃依旧 - ❌ 设置
GGML_VK_DISABLE_COOPMAT=1+GGML_VK_DISABLE_COOPMAT2=1— 崩溃依旧 - ❌ 设置
GGML_VK_DISABLE_COOPMAT=1+GGML_VK_DISABLE_COOPMAT2=1+GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1— 崩溃依旧 - ❌ 设置
GGML_VULKAN_VALIDATE=1— 崩溃依旧 - ❌ 使用
GGML_VULKAN_DEVICE=0或1指定特定 GPU — 崩溃依旧 - ❌ 使用不同的驱动版本(从旧到新)— 均崩溃
崩溃分析
该崩溃与上游 ggml 项目中已知的 AMD Vulkan 驱动兼容性问题一致:
- whisper.cpp #3723: AMD 780M + VAD + beam-size 8 崩溃
- whisper.cpp #3806: RX 9070 XT + Flash Attention 崩溃
- llama.cpp #11074: ggml 为 AMD 专有驱动添加了 coopmat 黑名单
- llama.cpp #18763: 禁用大 coopmat 配置
FunASR 预编译二进制文件中缺少以下功能:
- 没有
--no-flash-attn参数来禁用有问题的 Flash Attention 着色器 - 仅设置
GGML_VK_DISABLE_COOPMAT=1不足以解决问题 - 崩溃发生在固定代码偏移
0x271743,与是否禁用 coopmat 无关
建议
- 在 FunASR 文档中注明:AMD GPU 在 Windows 上不支持 Vulkan 后端
- 添加
--no-flash-attn参数支持 - 在运行时检测 AMD Windows 驱动并自动禁用有问题的 Vulkan 功能
- 或者建议 AMD Windows 用户使用 CPU 版本
English Report
Description
The llama-funasr-sensevoice.exe Vulkan backend (--backend vulkan) crashes with exception code 0xc0000005 (Access Violation) on AMD GPUs under Windows.
Environment
- OS: Windows 11
- GPU: AMD Radeon RX 7600M XT (RDNA3) + AMD Radeon 780M (RDNA3, integrated)
- AMD Driver: 32.0.31035.1003 (July 24, 2026, latest)
- FunASR Version: runtime-llamacpp-v0.1.9 (funasr-llamacpp-windows-x64-vulkan.zip)
- Model: sensevoice-small-f16.gguf + fsmn-vad.gguf
Steps to Reproduce
- Download and extract
funasr-llamacpp-windows-x64-vulkan.zip - Download models:
sensevoice-small-f16.ggufandfsmn-vad.gguf - Run:
.\llama-funasr-sensevoice.exe -m models\sensevoice-small-f16.gguf --vad models\fsmn-vad.gguf -a audio\examples\zh.mp3 --backend vulkan
Expected Behavior
Program should transcribe audio using AMD GPU (Vulkan) acceleration.
Actual Behavior
Program crashes immediately after GPU device detection. Windows Event Log shows:
Application Error: llama-funasr-sensevoice.exe
Exception Code: 0xc0000005 (Access Violation)
Faulting Module: llama-funasr-sensevoice.exe
Faulting Offset: 0x0000000000271743
Attempted Workarounds
- ✅ CPU mode — works correctly
- ❌
GGML_VK_DISABLE_COOPMAT=1— coopmat disabled (matrix cores: none), still crashes - ❌
GGML_VK_DISABLE_COOPMAT=1+GGML_VK_DISABLE_COOPMAT2=1— still crashes - ❌
GGML_VK_DISABLE_COOPMAT=1+GGML_VK_DISABLE_COOPMAT2=1+GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1— still crashes - ❌
GGML_VULKAN_VALIDATE=1— still crashes - ❌
GGML_VULKAN_DEVICE=0or1— still crashes - ❌ Various driver versions (old to new) — all crash
Root Cause Analysis
This crash is consistent with known AMD Vulkan driver compatibility issues in upstream ggml:
- whisper.cpp #3723: AMD 780M + VAD crash
- whisper.cpp #3806: RX 9070 XT + Flash Attention crash
- llama.cpp #11074: ggml added coopmat blacklist for AMD proprietary driver
- llama.cpp #18763: Disabled large coopmat config on AMD proprietary driver
The FunASR pre-built binary is missing:
--no-flash-attnparameter to disable problematic Flash Attention shadersGGML_VK_DISABLE_COOPMAT=1alone is insufficient- Crash occurs at fixed offset
0x271743regardless of coopmat status
Suggestions
- Document in FunASR docs that AMD GPUs on Windows do not support the Vulkan backend
- Add
--no-flash-attnparameter support - Auto-detect AMD Windows driver and disable problematic Vulkan features at runtime
- Or direct AMD Windows users to use the CPU package
- Thought: 768ms
$ gh issue create --repo modelscope/FunASR --title "[Bug] Vulkan backend crashes on AMD GPUs on Windows (0xc0000005)" --body-file "D:\funasr-llamacpp-windows-x64-vulkan\bug_report.md" 2>&1
gh : ������gh����ʶ��Ϊ cmdlet���������ű��ļ�������г�������ơ��������Ƶ�ƴд���������·������ȷ��·����ȷ��Ȼ������
һ�Ρ�
����λ�� ��:1 �ַ�: 1 - gh issue create --repo modelscope/FunASR --title "[Bug] Vulkan backen ...
- ~~
- CategoryInfo : ObjectNotFound: (gh:String) [], CommandNotFoundException
- FullyQualifiedErrorId : CommandNotFoundException
- 主要言語
- Python
- スター
- 20.4k
- フォーク
- 2k
- 平均マージ
- 4時間 55分
- マージ済み PR(30日)
- 169
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelscope/FunASR のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
modelscope/FunASR#3704 · コメント 1 件 ·
-
bug needs feedback
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
modelscope/FunASR#3401 · コメント 2 件 ·
-
needs triage question
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
modelscope/FunASR#3718 · コメント 3 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
modelscope/FunASR#3717 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
modelscope/FunASR#3715 ·
modelscope/FunASR の issue をすべて見る
似ている issue
-
documentation help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
simonw/sqlite-utils#872 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100