造成你这个错误的原因有好几种:
CUDA 版本与 PyTorch 版本不匹配
- 你的显卡驱动(NVIDIA Driver)、CUDA 版本和 PyTorch 可能不兼容。
显卡架构不支持当前 PyTorch 版本
- 你的 GPU 可能较老,无法运行当前的 CUDA 代码。
使用的 PyTorch 不是 CUDA 版本
- 可能你的 PyTorch 不是
torch+cuXX
版本,而是 torch
的 CPU 版本。
显卡驱动过旧
—
解决方案:
1. 检查 CUDA 和 PyTorch 版本
先运行以下命令检查 PyTorch 和 CUDA 版本:
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())"
如果 CUDA 版本显示为 None
,说明 PyTorch 没有正确安装 CUDA 版本。
2. 确保安装正确的 PyTorch 版本
如果你的 GPU 支持 CUDA 11.8,建议安装匹配的 PyTorch 版本:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
如果你的 CUDA 是 12.x 版本:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
3. 更新 NVIDIA 驱动
运行:
nvidia-smi
如果 NVIDIA 驱动版本较低(如 470.x),请更新至最新版本(如 535.x 或以上)。
4. 尝试使用 CUDA_LAUNCH_BLOCKING=1
在终端运行:
export CUDA_LAUNCH_BLOCKING=1
然后重新启动 ComfyUI,看是否能解决问题。
5. 检查 GPU 是否兼容
你的 GPU 可能过老,不支持新的 CUDA 代码。可以运行:
python -c "import torch; print(torch.cuda.get_device_name(0))"
如果你的 GPU 低于 CUDA Compute Capability 3.5
(如 Kepler 架构),那就可能无法支持 PyTorch 的最新版本。