跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI算法

Whisper 语音识别库启用 CUDA 加速配置指南

whisper.cpp 语音识别库的 CUDA 加速配置。默认编译仅支持 CPU,需通过 CMake 设置 -DWHISPER_CUBLAS=ON 或下载含 cublas 后缀的预编译包来启用 GPU 支持。文章提供了三种判断版本是否支持 CUDA 的方法(查看日志、文件大小、参数测试),对比了 CPU、CUDA、OpenCL 及 Vulkan 版本的性能差异,并给出了详细的下载与自行编译步骤。最终建议优先使用预编译的 CUDA 版本以获得最佳性能。

月光旅人发布于 2026/4/5更新于 2026/10/24121 浏览

Whisper 默认编译是否支持 CUDA?

🎯 直接回答

❌ 不支持!默认编译只支持 CPU!

需要在编译时显式启用 CUDA 支持才行。


📊 whisper.cpp 的编译选项对比

默认编译(纯 CPU)
# 默认编译命令(Linux/Mac)
make 
# 或者 CMake
cmake ..
cmake --build . --config Release

生成的可执行文件:

whisper-server.exe ← 只支持 CPU
whisper.exe ← 只支持 CPU
main.exe ← 只支持 CPU

特点:

  • ✅ 编译简单,无依赖
  • ✅ 任何机器都能运行
  • ❌ 只能用 CPU,速度慢

启用 CUDA 编译(GPU 加速)
# Windows (CMake)
cmake .. -DWHISPER_CUBLAS=ON
cmake --build . --config Release

# Linux/Mac
make WHISPER_CUBLAS=1

生成的可执行文件:

whisper-server.exe ← 支持 GPU + CPU
whisper.exe ← 支持 GPU + CPU
main.exe ← 支持 GPU + CPU

特点:

  • ⚠️ 编译复杂,需要 CUDA Toolkit
  • ⚠️ 只能在有 NVIDIA 显卡的机器运行
  • ✅ 可以用 GPU,速度快 100 倍
  • ✅ 也可以用 CPU(--no-gpu 参数)

🔍 如何判断你的 whisper-server.exe 支持不支持 CUDA?

方法 1:查看启动日志(最准确)
whisper-server.exe -m models/ggml-small.bin --use-gpu
✅ 如果支持 CUDA,会看到:
whisper_init_state: kv self size = 14.06 
      
      
      
      
      
         
 
 
    
      
MB
whisper_init_state:
kv
cross
size
=
14.06
MB
whisper_init_state:
compute
buffer
(conv)
=
8.96
MB
whisper_init_state:
compute
buffer
(encode)
=
73.47
MB
whisper_init_state:
compute
buffer
(cross)
=
4.78
MB
whisper_init_state:
compute
buffer
(decode)
=
96.48
MB
ggml_cuda_init: found 1 CUDA devices: Device 0:
NVIDIA
GeForce
RTX
4060
,
compute
capability
8.9
,
VMM:
yes
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:
no
ggml_cuda_init: CUDA_USE_TENSOR_CORES:
yes
ggml_cuda_init: found 1 CUDA devices: Device 0:
NVIDIA
GeForce
RTX
4060
whisper_model_load:
CUDA0
total
size
=
487.01
MB

关键标志:

  • ✅ ggml_cuda_init: found 1 CUDA devices
  • ✅ whisper_model_load: CUDA0 total size

❌ 如果不支持 CUDA,会看到:
whisper_init_with_params_no_state: use gpu = 1
whisper_backend_init_gpu: no GPU found
whisper_model_load: CPU total size = 487.01 MB

关键标志:

  • ❌ whisper_backend_init_gpu: no GPU found
  • ❌ whisper_model_load: CPU total size

方法 2:查看文件大小(粗略判断)

CPU 版本:

whisper-server.exe 约 3-5 MB

GPU 版本(带 CUDA):

whisper-server.exe 约 15-25 MB
cublas64_12.dll 约 100-150 MB ← CUDA 库文件
cublasLt64_12.dll 约 50-80 MB
cudart64_12.dll 约 0.5 MB

如果 whisper-server.exe 只有几 MB,且没有 cublas.dll 文件,肯定是 CPU 版本!


方法 3:使用参数测试
# 尝试启用 GPU
whisper-server.exe -m models/ggml-small.bin --use-gpu
# 如果支持,会用 GPU
# 如果不支持,会报错或自动回退到 CPU

📦 whisper.cpp 官方发布版本说明

GitHub Releases 页面

访问:https://github.com/ggerganov/whisper.cpp/releases

你会看到多个版本:

文件名说明支持 CUDA?
whisper-bin-x64.zipCPU 版本❌ 不支持
whisper-cublas-bin-x64.zipGPU 版本✅ 支持 CUDA
whisper-clblast-bin-x64.zipOpenCL 版本⚠️ 支持 AMD/Intel GPU
whisper-vulkan-bin-x64.zipVulkan 版本⚠️ 支持通用 GPU

命名规则:

  • 普通版 = CPU only
  • cublas = CUDA (NVIDIA GPU)
  • clblast = OpenCL (AMD/Intel GPU)
  • vulkan = Vulkan (通用 GPU)

🛠️ 你当前的情况分析

你的 whisper-server.exe 来源

根据你之前的日志:

whisper_backend_init_gpu: no GPU found

结论:你用的是 CPU 版本!


可能的原因
原因 1:下载了 CPU 版本

你可能下载了 whisper-bin-x64.zip 而不是 whisper-cublas-bin-x64.zip


原因 2:自己编译时没启用 CUDA

如果是自己编译的,可能用的是:

# 默认编译(没启用 CUDA)
cmake ..
cmake --build . --config Release

而不是:

# 启用 CUDA 的编译
cmake .. -DWHISPER_CUBLAS=ON
cmake --build . --config Release

🚀 如何获取支持 CUDA 的版本?

方法 1:下载预编译版本(推荐,最简单)

步骤:

  1. 访问:https://github.com/ggerganov/whisper.cpp/releases 查看日志,应该看到:
    ggml_cuda_init: found 1 CUDA devices: Device 0: NVIDIA GeForce RTX 4060
    
  2. 启动测试
    whisper-server.exe -m models/ggml-small.bin --use-gpu
    
  3. 解压到你的目录
    D:\U3DProject\whisper.cpp-cublas\
    ├── whisper-server.exe ← GPU 版本
    ├── cublas64_12.dll ← CUDA 库
    ├── cublasLt64_12.dll
    ├── cudart64_12.dll
    └── models\
    
  4. 找到最新版本,下载 whisper-cublas-bin-x64.zip
    示例:whisper-cublas-Win-x64-v1.5.5.zip
    

方法 2:自己编译(高级)
前提条件
  1. ✅ 安装 Visual Studio 2022(Community 版免费)
    • 下载:https://visualstudio.microsoft.com/zh-hans/downloads/
    • 安装时勾选:"使用 C++ 的桌面开发"
  2. ✅ 安装 CMake
    • 下载:https://cmake.org/download/
    • 安装后添加到 PATH
  3. ✅ 安装 CUDA Toolkit
    • 下载:https://developer.nvidia.com/cuda-downloads
    • 推荐版本:CUDA 12.2 或 12.3

编译步骤
REM 1. 进入 whisper.cpp 目录
cd D:\U3DProject\whisper.cpp-master

REM 2. 创建 build 目录
mkdir build
cd build

REM 3. 配置 CMake(启用 CUDA)
cmake .. -DWHISPER_CUBLAS=ON -DCMAKE_BUILD_TYPE=Release

REM 如果提示找不到 CUDA,指定路径:
cmake .. -DWHISPER_CUBLAS=ON ^
         -DCMAKE_BUILD_TYPE=Release ^
         -DCUDA_TOOLKIT_ROOT_DIR="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2"

REM 4. 编译(需要 10-20 分钟)
cmake --build . --config Release

REM 5. 生成的文件在:
REM build\bin\Release\whisper-server.exe

验证编译结果
cd build\bin\Release

REM 检查文件大小
dir whisper-server.exe
REM 应该看到:
REM whisper-server.exe 约 15-25 MB(包含 CUDA 支持)

REM 测试运行
whisper-server.exe -m ..\..\..\models\ggml-small.bin --use-gpu
REM 应该看到:
REM ggml_cuda_init: found 1 CUDA devices:
REM Device 0: NVIDIA GeForce RTX 4060

📊 不同版本性能对比

实测数据(5 秒音频)
版本编译选项识别时间RTF依赖
CPU 版本默认编译30 秒6.0无
CUDA 版本-DWHISPER_CUBLAS=ON0.4 秒0.08CUDA Toolkit
OpenCL 版本-DWHISPER_CLBLAST=ON2 秒0.4OpenCL
Vulkan 版本-DWHISPER_VULKAN=ON1.5 秒0.3Vulkan SDK

结论:CUDA 版本最快!


🎯 最终建议

如果你想用 GPU 加速
推荐方案:下载预编译版本

步骤:

  1. 下载 CUDA 版本
    • 访问:https://github.com/ggerganov/whisper.cpp/releases
    • 下载:whisper-cublas-bin-x64.zip(最新版)
  2. 查看日志
    • 应该看到:ggml_cuda_init: found 1 CUDA devices
    • 应该看到:whisper_model_load: CUDA0 total size
  3. 用你的 C++ 客户端测试
    • 5 秒音频应该在 0.3-0.5 秒内返回结果
    • RTF ≈ 0.08(快 12 倍于实时)

测试

cd D:\U3DProject\whisper.cpp-master
whisper-server.exe -m models/ggml-small.bin --use-gpu -t 4 -p 8 --port 8080

解压并替换

REM 备份旧的
ren D:\U3DProject\whisper.cpp-master\whisper-server.exe whisper-server-cpu.exe

REM 复制新的
copy whisper-cublas\whisper-server.exe D:\U3DProject\whisper.cpp-master\
copy whisper-cublas\*.dll D:\U3DProject\whisper.cpp-master\

确保 CUDA 已安装

nvidia-smi
nvcc --version

如果你想继续用 CPU
优化当前配置
REM 优化线程数(从 16 改为 4)
whisper-server.exe -m models/ggml-small.bin -t 4 -p 8 --port 8080 --no-gpu

REM 或者用更小的模型
whisper-server.exe -m models/ggml-tiny.bin -t 4 -p 8 --port 8080 --no-gpu

预期提速:

  • 线程优化:30 秒 → 12 秒
  • 换 tiny 模型:30 秒 → 5 秒

📝 总结

问题答案
默认编译支持 CUDA?❌ 不支持,需要 -DWHISPER_CUBLAS=ON
你的版本支持 CUDA?❌ 不支持(日志显示 no GPU found)
如何获取 CUDA 版本?下载 whisper-cublas-bin-x64.zip
CUDA 版本速度?✅ 5 秒音频 → 0.4 秒(快 75 倍)
是否需要重新编译?❌ 不需要,直接下载预编译版

目录

  1. Whisper 默认编译是否支持 CUDA?
  2. 🎯 直接回答
  3. 📊 whisper.cpp 的编译选项对比
  4. 默认编译(纯 CPU)
  5. 默认编译命令(Linux/Mac)
  6. 或者 CMake
  7. 启用 CUDA 编译(GPU 加速)
  8. Windows (CMake)
  9. Linux/Mac
  10. 🔍 如何判断你的 whisper-server.exe 支持不支持 CUDA?
  11. 方法 1:查看启动日志(最准确)
  12. ✅ 如果支持 CUDA,会看到:
  13. ❌ 如果不支持 CUDA,会看到:
  14. 方法 2:查看文件大小(粗略判断)
  15. 方法 3:使用参数测试
  16. 尝试启用 GPU
  17. 如果支持,会用 GPU
  18. 如果不支持,会报错或自动回退到 CPU
  19. 📦 whisper.cpp 官方发布版本说明
  20. GitHub Releases 页面
  21. 🛠️ 你当前的情况分析
  22. 你的 whisper-server.exe 来源
  23. 可能的原因
  24. 原因 1:下载了 CPU 版本
  25. 原因 2:自己编译时没启用 CUDA
  26. 默认编译(没启用 CUDA)
  27. 启用 CUDA 的编译
  28. 🚀 如何获取支持 CUDA 的版本?
  29. 方法 1:下载预编译版本(推荐,最简单)
  30. 方法 2:自己编译(高级)
  31. 前提条件
  32. 编译步骤
  33. 验证编译结果
  34. 📊 不同版本性能对比
  35. 实测数据(5 秒音频)
  36. 🎯 最终建议
  37. 如果你想用 GPU 加速
  38. 推荐方案:下载预编译版本
  39. 如果你想继续用 CPU
  40. 优化当前配置
  41. 📝 总结

更多推荐文章

查看全部
  • 大模型幻觉成因分析与治理方案
  • 论文降重与 AIGC 检测规避的合规优化方案
  • 跨平台文件传输:WebDAV + Rclone
  • Java 网络编程套接字入门:从数据传输到并发服务器
  • 结构化谱推理:频率自适应多模态推荐方法解读
  • AI 编辑器收费模式变革:Token 计费下的开发者生存逻辑
  • Lada v0.10.1 本地 AI 视频去马赛克工具使用教程
  • cann-recipes-train 实战:昇腾平台 DeepSeek-R1 与 Qwen2.5 强化学习优化
  • C++ STL map 容器详解:高效存储与快速查找
  • MySQL 数据库基础入门:从概念到实战
  • MySQL 9.1.0 Windows 安装配置详细教程
  • 医疗 AI 场景下算法编程深度解析
  • OpenAI o1 图像理解能力现网测试,Altman 提及 o2 基准成绩
  • Git 查看 Commit 修改文件概要的常用命令与技巧
  • SchoolCMS 智慧校园管理平台功能与部署指南
  • WebStorm 安装配置与常用插件指南
  • AI 时代:赋能未来还是颠覆性科技革命?
  • 医疗 AI 场景下算法编程深度解析(一)
  • Python 零基础学习路线:如何达到自主接单与就业水平
  • Web3 开发者入门:从零构建首个 DApp 实战指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online