[Bug]: mmcv build failed with CUDA 12.8

用户在使用 NVIDIA GeForce RTX 5070 显卡运行 Fooocus 时,因显卡依赖 CUDA 12.8 及以上版本,安装了 CUDA 12.8 和 PyTorch 2.8.0.dev20250410+cu128,但尝试从源码构建 mmcv 或安装 mmcv 2.2.0 时编译失败。

[Bug]: mmcv build failed with CUDA 12.8

[Bug]: mmcv build failed with CUDA 12.8

快速结论:该报错通常出现在使用 NVIDIA RTX 50xx 系列显卡(需要 CUDA 12.8+)并尝试从源码编译 mmcv 或安装 mmcv 2.2.0 时。优先排查 PyTorch 版本与 CUDA 12.8 的兼容性,并考虑降级 PyTorch 到 2.7.0+cu128 版本。

问题场景

用户在使用 NVIDIA GeForce RTX 5070 显卡运行 Fooocus 时,因显卡依赖 CUDA 12.8 及以上版本,安装了 CUDA 12.8 和 PyTorch 2.8.0.dev20250410+cu128,但尝试从源码构建 mmcv 或安装 mmcv 2.2.0 时编译失败。

报错原文

mmcv compilation failed

原因分析

可能原因:mmcv 的预编译二进制文件或源码构建流程对 CUDA 12.8 的支持尚不完善,导致与 PyTorch 2.8.0 dev 版本搭配时编译失败。RTX 50xx 系列显卡需要 CUDA 12.8+,但 Fooocus 原版并未原生支持该硬件组合。

环境排查

  • Python 版本:3.10
  • CUDA 版本:12.8
  • PyTorch 版本:2.8.0.dev20250410+cu128(可能不稳定)
  • GCC 版本:11.4
  • 操作系统:Ubuntu 22.04
  • 显卡型号:NVIDIA GeForce RTX 5070 (RTX 50xx 系列)
  • mmcv 版本:尝试从源码构建或 mmcv 2.2.0
  • 依赖工具:xformers, torchvision, torchaudio, pytorchlightning 等版本需匹配

解决步骤

  1. 降级 PyTorch 版本(可优先尝试):根据社区经验,不要使用 PyTorch 2.8.0 dev 版本。建议降级到 PyTorch 2.7.0+cu128,该版本被报告在 RTX 50xx 显卡上工作正常。如果使用 PyTorch 2.7.1,需确保 torch、torchvision、torchaudio 版本严格匹配:

    • torch: 2.7.1
    • torchvision: 0.22.1
    • torchaudio: 2.7.1
    • 安装平台指定:cu128
  2. 安装正确的 xformers 版本:根据操作系统选择:

    • Linux: xformers 0.0.31
    • 非 Linux 系统: xformers 0.0.30
  3. 安装匹配的 PyTorch Lightning 和 Fabric:

    • pytorchlightning: 2.5.2
    • lightningfabric: 2.5.2

    这些参数已在 FooocusPlus 项目中验证可行。

  4. 使用替代分支(可选):如果原版 Fooocus 仍无法解决问题,可以尝试使用以下已解决 RTX 50xx 兼容性的分支:

验证方法

在调整后的环境中重新执行 mmcv 构建命令,观察是否成功编译。或直接启动 Fooocus,检查是否能正常加载模型并出图,不再出现“mmcv compilation failed”报错。

参考来源

lllyasviel/Fooocus #4088

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 8759

发表回复

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