For the complete documentation index, see llms.txt. This page is also available as Markdown.

CUDA 与 PyTorch 兼容性

选择与你租用的显卡匹配的 CUDA 构建——这是比其他任何设置都更容易导致 Clore.ai 部署出错的一项

本合集中的每一份指南都附带一个基础镜像。如果你更改了它,或者你自己安装 PyTorch,CUDA 构建版本就必须与所租 GPU 的架构相匹配。Clore.ai 是一个市场,而不是一个统一集群:其机群覆盖从 2017 年的 Pascal 挖矿卡到 2025 年的 Blackwell 工作站卡,没有任何单一镜像能兼容全部。

对应矩阵

架构
计算能力。
Clore.ai 上的显卡
使用此项

Blackwell

sm_120

RTX 5090、5080、5070 Ti、5070、5060 Ti、RTX PRO 6000

PyTorch ≥ 2.7 于 cu128 或 cu13x

Ada

sm_89

RTX 4090、4080、4070 Ti、4060 Ti

在 cu121 … cu13x 上使用 PyTorch ≥ 2.1(推荐 cu128)

Ampere

sm_86 / sm_80

RTX 3090、3080、3070、3060、A6000、A2000、CMP 90HX

在 cu118 … cu13x 上使用 PyTorch ≥ 1.13(推荐 cu128)

Turing

sm_75

RTX 2080 Ti、GTX 1660、CMP 30HX/40HX/50HX

任何 cu118 … cu13x

Volta

sm_70

Tesla V100(16GB 和 32GB SXM2)

PyTorch ≤ 2.10 在 cu128 上,或任何 cu126 构建版本

Pascal

sm_61

P104-100 及类似矿卡

PyTorch ≤ 2.7 于 cu124 或更早版本

有两处弃用最容易让人踩坑:

  • PyTorch 2.8 的 cu128 构建已不再支持 Maxwell 和 Pascal (sm_50、sm_60)。

  • PyTorch 2.11 的 cu128 和 cu129 二进制包已移除 Volta 支持 (cuDNN 9.15.1 与 Volta 不兼容)。V100 租用者应固定 2.10.0-cuda12.8 或者使用 cu126 构建版本。

  • CUDA 13.0 本身从 Turing 开始支持 (sm_75)。任何 cuda13x 镜像在设计上就不包含 Volta 和 Pascal。

可用的基础镜像

# 适用于从 Ampere 到 Blackwell 的默认选择——指南中使用的就是这个
pytorch/pytorch:2.11.0-cuda12.8-cudnn9-devel     # 构建工具、编译器、nvcc
pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime   # 更小,不含 nvcc

# 最新版本,仅适用于 Turing 及以上(不包括 V100,不包括 Pascal)
pytorch/pytorch:2.13.0-cuda13.2-cudnn9-devel

# Tesla V100(sm_70)
pytorch/pytorch:2.10.0-cuda12.8-cudnn9-devel

# Pascal 矿卡(sm_61)
pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel

将 PyTorch 安装到你自己的镜像中:

检查你实际租到的是什么

如果 get_device_capability 返回 (12, 0) 以及 get_arch_list() 没有 sm_120,说明你用了错误的镜像。你再改别的也没用。

租用前先筛选。 市场会公开每台主机的 CUDA 版本。大约 Clore.ai 目前约 65% 的 GPU 使用 13.x 驱动 ,35% 使用 12.x,因此 cu128 镜像是最安全的默认选择:CUDA 的小版本兼容性让它能在两者上运行。

错误信息解析

你看到的内容
含义
修复

该设备上没有可用于执行的内核镜像

该构建没有针对你显卡架构的内核

让镜像与上面的矩阵匹配

CUDA 错误:没有可用的内核镜像……sm_120

Blackwell 显卡,2.7 之前版本或 cu124 构建

切换到 cu128 + PyTorch ≥ 2.7

CUDA 驱动版本不足以支持 CUDA 运行时版本

镜像需要比主机上更高版本的驱动

选择更低版本的 CUDA 镜像,或者租用装有更新驱动的主机

torch.cuda.is_available() == False

容器启动时未获得 GPU 访问权限

重新部署;确保订单确实挂载了 GPU

未定义符号:__cudaPopCallConfiguration

同一环境中混用了多个 CUDA 版本

从一个干净的基础镜像重新构建;不要 pip 安装 再装第二个 torch

在 4090 上可用,在 5090 上失败

经典的架构不匹配

这个镜像属于 Ada 时代;切换到 cu128

Flash Attention 及其相关扩展

编译型扩展与 PyTorch 有同样的限制,而且通常会落后一个版本:

vllm/vllm-openai:latest 以及 lmsysorg/sglang:latest 两者都包含 Blackwell 内核。如果你为了可复现性固定了较旧的标签,请确认它是在 RTX 50 系列之后发布的,否则你就会继承本页正在说明的那个问题。

下一步

链接

最后更新于

这有帮助吗?