LogoTensorFusion 文档
LogoTensorFusion 文档
首页

快速开始

TensorFusion 概览在 Kubernetes 安装在虚拟机/服务器安装(K3S)Helm 快速安装在宿主机/虚拟机安装TensorFusion 架构

应用操作

创建 AI 应用注解使用场景配置自动扩缩容迁移现有应用最佳实践

自定义AI基础设施

生产级部署指南QoS 级别与计价云厂商集成(BYOC)管理许可证

维护与优化

组件更新配置告警GPU 热迁移预加载模型优化 GPU 效率

故障排除

问题处理手册链路追踪/性能分析查询指标和日志

参考

对比

与 NVIDIA vGPU 对比与 MIG/MPS 对比与趋动科技对比与 NVIDIA Run:ai 对比与 HAMi 的对比

TensorFusion 概览

TensorFusion 是运行在 Kubernetes 上的 GPU 虚拟化与池化系统。它把一张物理 GPU 切给多个 Pod 共用,为每个 Pod 限定算力和显存,并把集群里的所有 GPU 当作一个资源池统一调度。Pod 只需加一个标签和几条注解就能申请 GPU 资源,应用镜像和代码不用改。

本页说明 TensorFusion 能做什么、适合什么场景,以及接下来该读哪些文档。

TensorFusion 能做什么

能力说明
GPU 切分按 Pod 申请和限制算力(以 TFLOPS 或单卡百分比计)与显存,不必整卡分配。
四种隔离模式shared、soft、hard、partitioned,按工作负载选择与同卡其他负载的隔离强度,详见架构。
本地与远程 GPUPod 可以使用所在节点的 GPU,也可以跑在没有 GPU 的节点上,通过网络使用其他节点的 GPU(GPU-over-IP)。
GPU 感知调度调度器按 TFLOPS 和显存做决策,支持紧凑装箱或负载均摊两类放置策略、四级 QoS、命名空间配额、Gang 调度和 GPU 拓扑感知。
超额分配每个资源池可以设置算力超卖倍数,以及主机内存、磁盘按多大比例计入可调度显存。
自动伸缩根据历史用量调整工作负载的 GPU 请求与限额;通过 Karpenter 或云厂商 API 增减 GPU 节点。
节点合并与碎片整理腾空并释放利用率低的 GPU 节点。
多厂商支持 NVIDIA、华为昇腾(Ascend)、摩尔线程(Moore Threads)和阿里 PPU,每个厂商由一个 ProviderConfig 描述,详见支持矩阵。
监控与告警GPU、节点、资源池、工作负载的指标写入集群内的 GreptimeDB;告警规则由 controller 计算后发送到 Alertmanager。
云端控制台(可选)用网页管理集群。集群内的 agent 主动连到控制台,集群不需要开放入站访问。

GPU 热迁移和部分高级伸缩策略属于商业版功能,见许可。

演示

端到端演示

按需扩容

多个应用共享一张 GPU

限额隔离

远程 GPU

GPU 热迁移

工作原理

  1. 安装一个 Helm chart。它部署 controller(CRD 控制器、Pod 准入 webhook、调度器在同一个进程里)和指标数据库。
  2. controller 在每个 GPU 节点上启动一个 hypervisor Pod。hypervisor 发现节点上的 GPU,并上报为 GPU 资源。
  3. 在 Pod 模板上加标签 tensor-fusion.ai/enabled: "true" 和资源注解。
  4. webhook 改写 Pod,调度器为它选定 GPU,hypervisor 负责执行限额。

各组件和每一步的细节见架构。

适用场景

  • 多个小模型或突发型模型共用集群。 推理服务、MaaS 平台、AI SaaS 后端很少需要独占整卡,GPU 切分加超额分配可以让一张卡承载更多服务。
  • 开发与教学环境。 Notebook 和实验环境大部分时间空闲。可以给每个用户分一小份 GPU,也可以让 CPU 节点上的 Pod 远程使用 GPU。
  • GPU 租赁与内部平台。 用 QoS 等级、命名空间配额和按工作负载统计的用量指标,在租户之间划分资源池并核算用量。
  • 混合硬件。 NVIDIA 和其他已支持的厂商共用同一个调度器、同一套注解。

不适用场景

  • 每个任务本来就吃满整卡。 占满所有 GPU 的大规模训练从切分中得不到多少好处。这类任务仍可以用 shared 模式接入,使用调度和池化能力。
  • 用 soft 隔离跑不可信租户。 soft 模式的 limiter 运行在应用进程内,不是安全边界。不可信的工作负载请使用 hard 或 partitioned。
  • 非 glibc 镜像。 soft 隔离通过 /etc/ld.so.preload 加载 limiter,要求镜像基于 glibc 并带有 /bin/sh。Alpine 等基于 musl 的镜像在该模式下不受支持。
  • 没有 Linux GPU 节点的集群。 controller 和 hypervisor 只能运行在 Linux 上。

快速开始

  • 通过云端控制台在 Kubernetes 上部署
  • 只用 Helm 在 Kubernetes 上部署
  • 在虚拟机或服务器上用 K3s 部署
  • 在宿主机或虚拟机上部署
  • 架构与核心概念

常见任务

  • 创建工作负载
  • 迁移现有 GPU 工作负载
  • 配置自动伸缩
  • 配置 QoS 与计价
  • 生产环境部署
  • 配置告警

参考资料

  • 工作负载注解
  • Helm values
  • 自定义资源定义
  • 监控指标
  • GPU、驱动与操作系统支持矩阵
  • 安全白皮书
  • 术语解释

与其他方案对比

TensorFusion 在一套系统里提供 GPU 切分、远程 GPU 共享、GPU 感知调度和节点自动伸缩。它自带调度器和 device plugin,并且可以接管申请 nvidia.com/gpu 的 Pod,因此已有的 NVIDIA device plugin 环境可以分批迁移。

下面每篇对比都从功能、隔离性和运维三个方面展开:

  • TensorFusion 与 MIG / MPS / Time-slicing
  • TensorFusion 与 NVIDIA vGPU
  • TensorFusion 与 NVIDIA Run:ai
  • TensorFusion 与 HAMi
  • TensorFusion 与 VirtAI OrionX

许可

  • 开源(Apache 2.0)。 controller、调度器、hypervisor。
  • 免费使用,不开源,无需 license。 soft 模式加载到应用中的各厂商 limiter 库,随公开镜像分发。池化、调度,以及 shared、partitioned 和本地 soft 模式只需要这些和开源组件。
  • 免费使用,不开源,需要 license 文件。 实现远程 GPU 共享和 hard 隔离的 client 与 worker。组织内 GPU 总数少于 10 张时免费。
  • 商业版。 超出上述规模使用闭源组件,以及 GPU 热迁移等企业功能。见价格页或联系我们。

FAQ

TensorFusion 是开源的吗?

大部分是。controller、调度器和 hypervisor 在 NexusGPU/tensor-fusion 仓库中以 Apache 2.0 许可证开源。远程 GPU 共享和 hard 隔离用到的 client 与 worker 只以容器镜像形式发布,设计思路沿用了 rCUDA 提出的 API remoting 方法。

什么情况下可以免费使用?

开源组件始终免费。闭源组件在组织内 GPU 总数少于 10 张时,商业和非商业用途都免费。超出后请联系我们获取商业版或教育版许可。

支持哪些 GPU?

NVIDIA GPU 覆盖最全:本地和远程都支持全部四种隔离模式。华为昇腾、摩尔线程和阿里 PPU 支持其中一部分模式。AMD 暂不支持。每种组合见支持矩阵。

需要改应用吗?

不需要。在 Pod 模板上加标签和注解即可。webhook 会按所选模式注入需要的内容,应用看到的仍是普通的 GPU 设备。Pod 里有多个容器时,用 tensor-fusion.ai/inject-container 注解指明哪些容器需要 GPU。

需要安装 NVIDIA GPU Operator 吗?

不需要。GPU 节点上有可用的厂商驱动,容器运行时能把 GPU 暴露给容器即可。已经装了 GPU Operator 的集群,TensorFusion 可以与它并存,见迁移现有 GPU 工作负载。

有生产环境的用户吗?

有。见十方融海如何用 TensorFusion 节省 80% 的 GPU 成本。

TensorFusion 由谁开发?

TensorFusion 及相关 GitHub 项目由总部位于新加坡的 NexusGPU PTE. LTD. 开发和维护。

在 Kubernetes 安装

用 Helm 在现有 Kubernetes 集群上安装 TensorFusion,并接入 TensorFusion 控制台

目录

TensorFusion 能做什么
演示
端到端演示
按需扩容
多个应用共享一张 GPU
限额隔离
远程 GPU
GPU 热迁移
工作原理
适用场景
不适用场景
快速开始
常见任务
参考资料
与其他方案对比
许可
FAQ