RuntimeError: CUDA failed with error CUDA driver version is insufficient for CUDA runtime version`

这个报错通常发生在 Docker/Podman/k8s 容器里运行 Faster Whisper GPU 镜像时,宿主机驱动版本与容器内 CUDA runtime 不匹配,或 GPU 根本没有被正确挂载进容器。优先排查容器的 GPU 资源声明和挂载配置,而不是先升级驱动。

快速结论:这个报错通常发生在 Docker/Podman/k8s 容器里运行 Faster Whisper GPU 镜像时,宿主机驱动版本与容器内 CUDA runtime 不匹配,或 GPU 根本没有被正确挂载进容器。优先排查容器的 GPU 资源声明和挂载配置,而不是先升级驱动。

适用环境:已确认场景为 linuxserver/faster-whisper:gpu 容器在 k8s 集群中运行,容器 runtime 为 nvidia。Issue 中出现的宿主机驱动为 NVIDIA-SMI 550.144.03(CUDA 12.4)与 570.124.04(CUDA 12.8);显卡涉及 RTX 3090 FE、RTX 3090 MSI、A2000。Python、PyTorch、faster-whisper 具体版本在 Issue 中未给出。

最快修复方案:Issue 中标记为有效的处理方式是修正容器平台的 GPU 资源声明(见下方解决步骤),其中一位用户正是因 GPU 未正确挂载导致报错。若使用 podman play kube,需使用 nvidia.com/gpu=0: 1 形式的资源请求;若使用 k8s 的 nvidia 插件,则为 nvidia.com/gpu: 1。

注意事项:该结论来自单个用户反馈,且该用户使用的是 podman play kube 而非标准 k8s 场景;另一位用户明确表示升级 CUDA 和显示驱动到 570/CUDA 12.8 后报错依旧,说明盲目升级驱动不一定有效。GPU 是否真正挂载、资源声明格式是否符合当前容器平台,仍需按实际环境核对。

问题场景

用户在 k8s 集群中以 nvidia 作为容器 runtime,运行 linuxserver/faster-whisper:gpu 镜像。容器本身能启动,但执行推理或加载 CUDA 时抛出 CUDA 驱动版本不足的错误。讨论中还出现多个 RTX 3090 用户反馈相同报错,说明并非单一显卡型号问题。

报错原文

RuntimeError: CUDA failed with error CUDA driver version is insufficient for CUDA runtime version

原因分析

报错字面含义是“CUDA 驱动版本对 CUDA runtime 版本来说过低”,即容器内 CUDA runtime 要求的驱动版本高于宿主机当前驱动所提供的版本。可能原因包括:

  • 容器内 CUDA runtime 比宿主机驱动所支持的版本更新,导致版本校验失败。
  • 更隐蔽的一种情况是 GPU 根本没有被正确挂载进容器,容器里的 CUDA 初始化失败后被包装成同样的驱动版本报错。Issue 中有用户确认自己的实际原因就是“显卡没有正确挂载”,与显卡型号无关。
  • 容器平台的 GPU 资源声明写法不正确,例如 podman play kube 与 k8s nvidia 插件对 GPU 资源的字段格式要求不同。

环境排查

  • 确认容器是否真的绑定了 GPU:检查容器内的 nvidia-smi 输出,或查看 /dev/nvidia* 设备是否可见。
  • 确认宿主机驱动版本与容器内 CUDA runtime 版本是否匹配:Host 侧 NVIDIA-SMI 显示 550.144.03 / CUDA 12.4,或 570.124.04 / CUDA 12.8。
  • 确认容器编排方式:是标准 k8s(使用 nvidia k8s 插件)还是 podman play kube,两者 GPU 资源字段写法不同。
  • 确认容器镜像使用的 CUDA runtime 版本;该信息在 Issue 中未明确给出。
  • 确认显卡型号(RTX 3090、A2000 等)不是关键变量——Issue 中已有多张不同显卡出现同样报错。

解决步骤

  1. 先验证 GPU 是否真正挂载到容器中。进入容器执行 nvidia-smi;如果看不到显卡,说明问题不在驱动版本,而在 GPU 未挂载。
  2. 若使用 podman play kube,按 Issue 中验证过的写法调整资源请求:
    resources:
      requests:
        nvidia.com/gpu=0: 1
  3. 若使用 k8s 配合 nvidia k8s 插件,使用:
    resources:
      requests:
        nvidia.com/gpu: 1
  4. 修正后重新创建/调度容器,而不是仅重启容器,确保资源声明生效。
  5. 重新执行触发报错的操作,确认 CUDA 能否初始化。

验证方法

容器重新调度后,先在容器内运行 nvidia-smi 确认能看到 GPU;再运行 Faster Whisper 推理或触发原先报错的加载流程。如果不再出现 RuntimeError: CUDA failed with error CUDA driver version is insufficient for CUDA runtime version,即说明 GPU 挂载与 CUDA 初始化恢复正常。

参考来源

SYSTRAN/faster-whisper #1259

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27283

发表回复

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