Skip to main content
Version: Next

Choose Your Setup

HAMi ships in more than one shape, and two other projects sit next to it. This page answers the question people ask first: which one do I install?

HAMi or HAMi-DRA

Both give a container a slice of a GPU. They differ in how Kubernetes hands the device over.

Pick classic HAMi unless every line below is true for your cluster:

  • Kubernetes v1.34 or later, with the DRA Consumable Capacity feature gate enabled
  • CDI enabled in containerd or CRI-O
  • NVIDIA GPU driver 440 or later

If any of them is missing, HAMi-DRA cannot run. See HAMi DRA for Kubernetes for the full prerequisites.

Classic HAMiHAMi-DRA
Kubernetesv1.23 or laterv1.34 or later, feature gate on
How devices reach the podDevice PluginResourceClaim, through a mutating webhook
Pod specnvidia.com/gpu, nvidia.com/gpumem and nvidia.com/gpucores limitsthe same limits, converted to a ResourceClaim for you
CDInot requiredrequired
Extra componentsnonecert-manager

Both run HAMi-core inside the container, so the memory and core limits behave the same either way. HAMi-DRA changes the allocation path, not the isolation.

Start with Deploy HAMi using Helm, or with HAMi DRA for Kubernetes if the list above is satisfied.

HAMi, Volcano vGPU or KAI Scheduler

These are not three answers to the same question. Scheduling and isolation are separate jobs:

  • Scheduling decides which pod lands on which GPU, and how much of it the pod may claim.
  • Isolation is what stops a pod from using more than it claimed. In every option below that work is done by the same library, HAMi-core, injected into the container.

So the real choice is which scheduler you already run.

HAMiVolcano vGPUKAI Scheduler
SchedulerHAMi schedulerVolcanoKAI
Device pluginHAMi device pluginvolcano-vgpu-device-pluginNVIDIA device plugin
IsolationHAMi-coreHAMi-coreHAMi-core, through kai-resource-isolator
Install HAMi as welln/anono
Gang scheduling and queuesnoyesyes
Non-NVIDIA devicesyes, see Device supported by HAMiNVIDIA only, Ascend goes through the separate Volcano vNPU integrationNVIDIA
RequiresHAMi v2.xVolcano later than v1.9KAI v0.16.4 or later
GuideDeploy HAMi using HelmUse Volcano vGPUUse KAI Scheduler with HAMi

A short way to decide:

  • No scheduler preference, or devices other than NVIDIA: HAMi.
  • Already running Volcano for batch jobs: Volcano vGPU. You do not need to install HAMi.
  • Already running KAI: KAI Scheduler plus kai-resource-isolator. Without the isolator, a pod that asks for a fraction of a GPU can still use all of it.
note

Only one device plugin may own nvidia.com/gpu on a node. Remove or disable the NVIDIA device plugin before installing the HAMi one. See the FAQ.

CNCFHAMi is a CNCF Incubating project