LogoTensorFusion Docs
LogoTensorFusion Docs
Homepage

Getting Started

OverviewKubernetes InstallVM/Server Install(K3S)Helm Quick InstallHost/GuestVM InstallTensorFusion Architecture

Application Operations

Create WorkloadAnnotation Usage ScenariosConfigure AutoScalingMigrate Existing WorkloadBest Practices

Customize AI Infra

Production-Grade DeploymentConfig QoS and BillingBring Your Own CloudManaging License

Maintenance & Optimization

Upgrade ComponentsSetup AlertsGPU Live MigrationPreload ModelOptimize GPU Efficiency

Troubleshooting

HandbookTracing/ProfilingQuery Metrics & Logs

Reference

Comparison

Compare with NVIDIA vGPUCompare with MIG/MPSCompare with NVIDIA Run:aiCompare with HAMi

Overview

TensorFusion is a GPU virtualization and pooling system for Kubernetes. It splits a physical GPU among several Pods, enforces a compute and VRAM limit on each of them, and schedules all GPUs in the cluster as one pool. A Pod asks for GPU resources with a label and a few annotations; the application image and code stay as they are.

This page explains what TensorFusion does, when it fits, and where to go next.

What TensorFusion does

CapabilityWhat you get
Fractional GPURequest and limit compute (in TFLOPS or as a percentage of one GPU) and VRAM per Pod, instead of whole cards.
Four isolation modesshared, soft, hard, and partitioned. Pick per workload how strictly it is separated from its neighbors. See Architecture.
Local and remote GPUA Pod can use a GPU on its own node, or run on a node without a GPU and use one over the network (GPU-over-IP).
GPU-aware schedulingA scheduler that understands TFLOPS and VRAM, with bin-packing or load-spreading placement, four QoS levels, namespace quotas, gang scheduling, and GPU topology awareness.
OversubscriptionEach pool sets how far compute can be oversold and how much host memory and disk count toward schedulable VRAM.
AutoscalingAdjusts a workload's GPU requests and limits from its usage history, and adds or removes GPU nodes through Karpenter or a cloud provider API.
Node compaction and defragmentationEmpties and releases underused GPU nodes.
Multiple vendorsNVIDIA, Huawei Ascend, Moore Threads, and Alibaba PPU, each described by a ProviderConfig. See the support matrix.
Monitoring and alertingGPU, node, pool, and workload metrics are written to GreptimeDB inside your cluster. Alert rules are evaluated by the controller and sent to Alertmanager.
Cloud console (optional)A web console to manage clusters. An agent in your cluster dials out to it, so the cluster needs no inbound access.

GPU live migration and some advanced autoscaling policies are part of the commercial edition. See Licensing.

Demo

End-to-end demo

Scale on demand

Share one GPU

Enforce the limit

Remote GPU

GPU live migration

How it works

  1. You install one Helm chart. It deploys the controller (CRD controllers, a Pod admission webhook, and a scheduler in one process) and a metrics database.
  2. The controller starts a hypervisor Pod on every GPU node. The hypervisor discovers the GPUs and reports them as GPU resources.
  3. You add the label tensor-fusion.ai/enabled: "true" and resource annotations to a Pod template.
  4. The webhook rewrites the Pod, the scheduler picks GPUs for it, and the hypervisor enforces its limits.

Architecture covers the components and each step in detail.

When to use it

  • Many small or bursty models share a cluster. Inference services, Model-as-a-Service platforms, and AI SaaS backends rarely need a whole GPU each. Fractional GPUs and oversubscription pack more of them onto one card.
  • Development and teaching environments. Notebooks and labs sit idle most of the time. Give each user a slice, or let Pods on CPU nodes use GPUs remotely.
  • GPU rental and internal platforms. QoS levels, namespace quotas, and usage metrics per workload let you divide a pool between tenants and account for what they use.
  • Mixed hardware. One scheduler and one set of annotations cover NVIDIA and the other supported vendors.

When not to use it

  • Each job already saturates whole GPUs. Large training runs that occupy every card gain little from fractional sharing. You can still run them in shared mode to use the scheduler and pooling.
  • Untrusted tenants on soft isolation. The soft limiter runs inside the application process and is not a security boundary. Use hard or partitioned for workloads you do not trust.
  • Images that are not based on glibc. soft isolation loads its limiter through /etc/ld.so.preload, which needs a glibc-based image with /bin/sh. Alpine and other musl images are not supported in this mode.
  • Clusters without Linux GPU nodes. The controller and hypervisor run on Linux only.

Quick start

  • Deploy on Kubernetes with the cloud console
  • Deploy on Kubernetes with Helm only
  • Deploy on VMs or servers with K3s
  • Deploy on a host or guest VM
  • Architecture and core concepts

Common tasks

  • Create a workload
  • Migrate existing GPU workloads
  • Configure autoscaling
  • Configure QoS and pricing
  • Deploy for production
  • Set up alerts

Reference

  • Workload annotations
  • Helm values
  • Custom resource schema
  • Metrics
  • GPU, driver, and OS support matrix
  • Security whitepaper
  • Terminology

Compare with other solutions

TensorFusion combines fractional GPUs, remote GPU sharing, a GPU-aware scheduler, and node autoscaling in one system. It runs its own scheduler and device plugin, and can take over Pods that request nvidia.com/gpu, so an existing NVIDIA device plugin setup can be migrated step by step.

Each comparison below goes through features, isolation, and operations in detail:

  • TensorFusion vs. MIG / MPS / time-slicing
  • TensorFusion vs. NVIDIA vGPU
  • TensorFusion vs. NVIDIA Run:ai
  • TensorFusion vs. HAMi
  • TensorFusion vs. VirtAI OrionX

Licensing

  • Open source (Apache 2.0). The controller, scheduler, and hypervisor.
  • Free to use, closed source, no license needed. The vendor limiter libraries that soft mode loads into the application, shipped in public images. Pooling, scheduling, and the shared, partitioned, and local soft modes need nothing beyond these and the open source components.
  • Free to use, closed source, license file needed. The client and worker that implement remote GPU sharing and hard isolation. They are free for organizations with fewer than 10 GPUs in total.
  • Commercial. Larger deployments of the closed-source components, and enterprise features such as GPU live migration. See pricing or contact us.

FAQ

Is TensorFusion open source?

Most of it is. The controller, scheduler, and hypervisor live in NexusGPU/tensor-fusion under Apache 2.0. The client and worker used for remote GPU sharing and hard isolation are distributed as container images only. Their design follows the API remoting approach described in rCUDA.

When is TensorFusion free?

The open source components are always free. The closed-source components are free for commercial and non-commercial use by organizations with fewer than 10 GPUs in total. Beyond that, contact us for a commercial or educational license.

Which GPUs does it support?

NVIDIA GPUs have the widest coverage: all four isolation modes, locally and remotely. Huawei Ascend, Moore Threads, and Alibaba PPU are supported in a subset of modes. AMD is not supported yet. The support matrix lists every combination.

Do I have to change my application?

No. You add a label and annotations to the Pod template. The webhook injects what the selected mode needs, and the application sees a regular GPU device. With more than one container in the Pod, name the containers that need a GPU in the tensor-fusion.ai/inject-container annotation.

Does it need the NVIDIA GPU Operator?

No. GPU nodes need a working vendor driver and a container runtime that can expose the GPU to containers. If the GPU Operator is already installed, TensorFusion can run next to it. See Migrate existing GPU workloads.

Are there production users?

Yes. See How TenClass saved 80% on GPU costs with TensorFusion.

Who develops TensorFusion?

NexusGPU PTE. LTD., a company headquartered in Singapore, develops and maintains TensorFusion and the related GitHub projects.

Kubernetes Install

Install TensorFusion on an existing Kubernetes cluster with Helm and connect it to the TensorFusion Console

Table of Contents

What TensorFusion does
Demo
End-to-end demo
Scale on demand
Share one GPU
Enforce the limit
Remote GPU
GPU live migration
How it works
When to use it
When not to use it
Quick start
Common tasks
Reference
Compare with other solutions
Licensing
FAQ