RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED. When the –compute_type float32 option was added, it could run, but long videos did not work properly. In videos longer than

这个报错通常出现在 RTX 50 系显卡(如 RTX 5070 Ti)上运行 faster-whisper 时,默认的 compute_type=auto/int8 与当前 CUDA/cuBLAS 环境不兼容所致。优先把 compute_type 改成 float16 再试。

快速结论:这个报错通常出现在 RTX 50 系显卡(如 RTX 5070 Ti)上运行 faster-whisper 时,默认的 compute_type=auto/int8 与当前 CUDA/cuBLAS 环境不兼容所致。优先把 compute_type 改成 float16 再试。

适用环境:Issue 中确认涉及 RTX 5070 Ti(另有一条 RTX 5070 Ti Mobile 报告)与 RTX 3060 对比、RTX 2070 SUPER 对比;工具为 Faster Whisper,也涉及通过 Whisper Standalone / Subtitle Edit / WingmanAI 等封装调用 faster-whisper 的场景。CUDA Toolkit 与 cuBLAS 版本未被用户确认,Issue 中也没有给出具体 Python、CUDA、PyTorch 版本号。

最快修复方案:把运行参数改为 --compute_type float16(Python 中即 compute_type="float16")。多位用户确认在 auto 或 int8 下失败,改成 float16 后可以工作。

注意事项:float16 只是绕过默认 int8 路径,并未在 Issue 中确认能解决长视频中途中断的问题(用户报告超过 2 小时的视频只跑完前 33 分钟)。此外,auto 默认可能映射到 int8,因此需要显式指定。50 系显卡仅在 exe 封装项目中报告较多,Python 直接使用场景的报告较少,原因尚未确认。

问题场景

用户在 Windows 笔记本上使用 RTX 5070 Ti(以及 RTX 5070 Ti Mobile)运行 faster-whisper 做字幕转写。部分用户是通过 PotPlayer、Whisper Standalone、Subtitle Edit 等封装程序间接调用 faster-whisper,也有用户通过 WingmanAI(依赖 faster-whisper 1.1.1 的 pyinstaller 打包 exe)调用。在默认 compute_type(auto/int8)下出现 cuBLAS 报错。

报错原文

RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED

Issue 中另有一条相关描述:

With compute_type='int8_float16', I get:
RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED

原帖还提到:

When the --compute_type float32 option was added, it could run, but long videos did not work properly. In videos longer than 2 hours, the program only worked for the first 33 minutes and then abruptly stopped.

原因分析

可能原因:RTX 50 系显卡(Blackwell 架构)与当前环境中的 cuBLAS/CUDA Toolkit 组合在 int8 或 auto(默认映射到 int8)路径下不被支持,从而触发 CUBLAS_STATUS_NOT_SUPPORTED。Issue 中有用户建议先检查 cuBLAS 或 CUDA Toolkit 版本,但没有得到用户确认。另有讨论指向 CTranslate2 上游的同类问题(issue 链接:OpenNMT/CTranslate2#1865),但该链接未在本 Issue 中给出最终修复结论。

另一个观察是:同样使用 int8_float16,RTX 2070 SUPER 可以正常运行并达到约 86× 实时速度,而 RTX 5070 Ti 报错,改用 float16 后可以运行但速度仅约 21× 实时,说明问题与显卡架构和 compute_type 选择相关。

环境排查

  • 确认显卡型号:是否为 RTX 50 系(如 5070 Ti / 5070 Ti Mobile)。
  • 确认正在使用的调用方式:直接 Python 调用 faster-whisper,还是通过 exe 封装(Whisper Standalone、Subtitle Edit、WingmanAI 等)。Issue 中多数 50 系报告来自 exe 封装项目。
  • 确认当前 compute_type 设置:是否使用默认 auto 或 int8,两者在该环境下均被报告失败。
  • 确认 cuBLAS 版本与 CUDA Toolkit 版本(Issue 中提问者曾建议检查,但未获得用户反馈,请自行核对)。
  • 确认是否需要强制使用 CPU 作为临时替代(Issue 中有用户询问如何强制走 CPU,但未得到明确命令)。
  • 确认 Python 调用与 exe 调用是否行为不同:有维护者指出 50 系报告集中在 exe 仓库,Python 仓库中报告较少,这一点尚未有定论。

解决步骤

  1. 将 compute_type 从 auto 或 int8 改为 float16。命令行参数为 --compute_type float16;Python 中为 compute_type="float16"。多位用户确认这一改动后可以运行。
  2. 如果通过 Subtitle Edit 调用,在参数中加入 --compute_type float16,Issue 中有 5070 Ti Mobile 用户确认可行。
  3. 如果通过 Whisper Standalone 类封装调用,同样在参数中指定 --compute_type float16,Issue 中有用户确认有效。
  4. 如果使用 float16 后仍然报错或出现性能异常,请检查 cuBLAS / CUDA Toolkit 版本,并考虑强制使用 CPU 运行作为临时方案;Issue 中未给出强制 CPU 的具体命令。
  5. 如果长视频(超过 2 小时)仍中途停止,目前 Issue 中没有确认的修复方案,<float32 只能让程序启动,但长视频问题依旧存在,需要单独排查。

验证方法

在改为 float16 后重新运行同一段转写任务,确认不再出现 RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED,并且转写能够正常完成。Issue 中用户反馈 float16 可以工作,但速度可能低于同环境下 RTX 2070 SUPER 的 int8_float16 表现。如果需要验证长视频,请重点观察超过 2 小时的视频是否仍在中途中断。

参考来源

SYSTRAN/faster-whisper #1260

Issue 中提到的上游相关链接:OpenNMT/CTranslate2 #1865

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27288

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注