系统管理员参考
GPU/驱动/操作系统支持矩阵
支持的 GPU 厂商、隔离模式、驱动、操作系统和 CPU 架构
TensorFusion 在 NVIDIA GPU 上支持全部四种隔离模式,在华为昇腾(Ascend)、摩尔线程(Moore Threads)和阿里 PPU 上支持其中一部分。controller 和 hypervisor 运行在 Linux 上,支持 x86_64 和 ARM64。
安装之前,可以用本页确认你的硬件、隔离模式和平台组合是否可用。隔离模式的含义见架构。
厂商与隔离模式
图例:支持表示已实现并有测试覆盖;未测试表示已实现,但还没有测试覆盖;不支持表示不可用。
本地 GPU 模式
| 厂商 | tensor-fusion.ai/vendor 的取值 | shared | soft | hard | partitioned |
|---|---|---|---|---|---|
| NVIDIA | NVIDIA | 支持 | 支持 | 支持 | 支持(MIG) |
| 华为昇腾 | Ascend | 支持 | 支持 | 不支持 | 支持(vNPU) |
| 阿里 PPU | PPU | 支持 | 支持 | 不支持 | 未测试(MIG) |
| 摩尔线程 | MooreThreads | 支持 | 支持 | 不支持 | 不支持 |
远程 GPU 模式
| 厂商 | shared | soft | hard | partitioned |
|---|---|---|---|---|
| NVIDIA | 支持 | 支持 | 支持 | 不支持 |
| 华为昇腾 | 支持 | 不支持 | 不支持 | 不支持 |
| 阿里 PPU | 不支持 | 不支持 | 不支持 | 不支持 |
| 摩尔线程 | 不支持 | 不支持 | 不支持 | 不支持 |
说明:
- AMD、海光(Hygon)和沐曦(MetaX)暂不支持。厂商没有 limiter 时,
soft隔离的请求会在创建 Pod 时被拒绝。 partitioned要求设置controller.isolationModePolicy: static。chart 的默认值dynamic不允许分区分配。- NVIDIA 可以不写厂商注解。其他厂商需要设置
tensor-fusion.ai/vendor,或者在容器的 limits 里申请该厂商的资源名(例如huawei.com/npu、aliyun.com/ppu),由 webhook 推断厂商。
启用某个厂商
每个厂商需要一个 ProviderConfig,写明它的镜像、GPU 型号和分区模板。
- NVIDIA:Helm chart 会创建
ProviderConfig和默认资源池,不需要其他操作。 - 昇腾、摩尔线程、PPU:为该厂商应用一个
ProviderConfig和一个TensorFusionCluster。仓库的config/samples目录下有示例(provider-ascend.yaml、provider-mthreads.yaml、provider-ppu.yaml以及对应的tensorfusioncluster-*.yaml)。多厂商混合的集群可以从 chart 自带的values-multi-vendor.yaml开始配置。
NVIDIA GPU 与驱动
| 项目 | 要求 |
|---|---|
| 驱动 | 每个 GPU 节点上有可用的 NVIDIA 驱动,建议 530 或更高版本。 |
| 应用镜像里的 CUDA | CUDA 12.1 或更高版本。测试用例使用 CUDA 12.1 和 12.4 的镜像。 |
| 容器运行时 | 能把 NVIDIA GPU 暴露给容器,例如通过 NVIDIA Container Toolkit。 |
| NVIDIA GPU Operator | 不是必需的。如果已经安装,并且节点上有它生成的 toolkit 校验文件,请设置 controller.compatibleWithNvidiaContainerToolkit: true。 |
MIG(partitioned 模式) | GPU 需要支持 MIG。chart 内置了 A100、A800、H100、H800、H200 等型号的分区模板。 |
chart 自带一张 NVIDIA 各型号的 FP16 TFLOPS 表,调度器用它作为每张 GPU 的算力容量:
| 架构 | 型号 |
|---|---|
| Volta | V100、V100S |
| Turing | T4、RTX 20 系列、TITAN RTX、GTX 1660 Ti |
| Ampere | A100、A800、A10、A10G、A40、RTX A2000 / A4000 / A4500 / A5000 / A6000、RTX 30 系列 |
| Ada Lovelace | L4、L40、L40S、RTX 2000 Ada / 4000 Ada / 6000 Ada、RTX 40 系列 |
| Hopper | H100、H800、H200、H20 |
| Blackwell | B200、RTX 50 系列 |
| Pascal | GTX 1050 Ti、GTX 1070、GTX 1080、GTX 1080 Ti |
这张表保存在 ConfigMap tensor-fusion-sys-public-gpu-info 里。型号出现在表中,说明调度器知道它的算力容量,不代表每个型号在每种模式下都测试过。
其他加速卡
示例 ProviderConfig 文件描述了以下型号:
| 厂商 | 示例中的型号 | 可识别的设备资源名 |
|---|---|---|
| 华为昇腾 | Ascend 310P3 | huawei.com/Ascend310、huawei.com/Ascend310P、huawei.com/npu |
| 阿里 PPU | PPU-ZW810E | aliyun.com/ppu |
| 摩尔线程 | MTT X300 | 示例中未配置 |
要使用已支持厂商的其他型号,在该厂商 ProviderConfig 的 hardwareMetadata 下添加这个型号及其 FP16 TFLOPS。驱动要求以厂商自己的文档为准。
Kubernetes
| 项目 | 要求 |
|---|---|
| 发行版 | 标准 Kubernetes 集群,包括 K3s。项目自身的测试使用 Kind 和 Amazon EKS。 |
| 安装权限 | 执行 helm install 的账号需要能创建 CRD、ClusterRole、MutatingWebhookConfiguration 和命名空间。 |
| Karpenter(可选) | 只有通过 Karpenter 做节点自动伸缩时才需要。请先安装 Karpenter 及其 CRD,再安装 TensorFusion chart。 |
操作系统
| 组件 | 支持情况 |
|---|---|
| Controller、hypervisor、worker | Linux 节点。 |
应用容器(soft 隔离) | 基于 glibc、带有 /bin/sh 的 Linux 镜像。不支持 Alpine 等基于 musl 的镜像。 |
| Windows | 不在开源版本范围内。有需要请联系我们。 |
CPU 架构
| 组件 | x86_64 | ARM64 |
|---|---|---|
| Controller 镜像 | 支持 | 支持 |
| Hypervisor 镜像 | 支持 | 支持 |
| NVIDIA accelerator 库与 limiter 库 | 支持 | 支持 |
大部分测试在 x86_64 上进行。镜像同时发布了 ARM64 版本,但 ARM64 的测试覆盖较少。
TensorFusion 文档