Repolode
Project-HAMi

Project-HAMi/HAMi

Kubernetes middleware that shares GPUs and other AI accelerators across pods by memory and compute, with device-aware scheduling.

Stars
4,896
Forks
872
Open issues
33
Last commit
3 hours ago

What is it?

HAMi (Heterogeneous AI Computing Virtualization Middleware, formerly k8s-vGPU-scheduler) lets platform teams share expensive GPUs and other AI accelerators across Kubernetes workloads. Pods request a fraction of a device by memory or core count using standard Kubernetes resource limits, so applications do not need code changes.

It is made of a mutating webhook, a scheduler extender, device plugins, and in-container virtualization components. Scheduling supports binpack, spread, topology-aware, mutex and NUMA policies, and NVIDIA MIG instances can be created and reclaimed dynamically. Supported backends include NVIDIA, AMD, Huawei Ascend, Cambricon, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads and others.

Installation is via Helm, with optional high-availability scheduler replicas, Prometheus metrics, and a companion WebUI. It is a CNCF Incubating project.

Key features

  • 01Shares GPUs by memory and core limits using standard Kubernetes resource requests.
  • 02Schedules pods with binpack, spread, topology-aware, mutex and NUMA policies.
  • 03Supports NVIDIA MIG with dynamic instance management.
  • 04Covers multiple accelerator vendors, including Ascend, Cambricon, Hygon and MetaX.
  • 05Exposes Prometheus metrics and offers a WebUI and Grafana dashboards.

Use cases

  • Increasing utilization of GPUs in shared Kubernetes AI clusters.
  • Running multi-tenant notebook, training and inference workloads on one accelerator pool.
  • Building private cloud AI platforms with quota control over device allocation.
  • Operating mixed-vendor accelerator clusters under one scheduling workflow.

Quick start

  1. 1

    Label the GPU nodes so HAMi can manage them

    kubectl label nodes <node-name> gpu=on
  2. 2

    Add the HAMi Helm repository

    helm repo add hami-charts https://project-hami.github.io/HAMi/
  3. 3

    Install HAMi with Helm into kube-system

    helm install hami hami-charts/hami -n kube-system
  4. 4

    Verify that hami-device-plugin and hami-scheduler are Running

    kubectl get pods -n kube-system

Things to know

  • Requires a Kubernetes cluster with Helm, plus NVIDIA driver and container toolkit prerequisites for the NVIDIA path.
  • Needs accelerator hardware on the cluster nodes to be useful.

Topics

FAQ

What is HAMi?
Kubernetes middleware that shares GPUs and other AI accelerators across pods by memory and compute, with device-aware scheduling. HAMi (Heterogeneous AI Computing Virtualization Middleware, formerly k8s-vGPU-scheduler) lets platform teams share expensive GPUs and other AI accelerators across Kubernetes workloads. Pods request a fraction of a device by memory or core count using standard Kubernetes resource limits, so applications do not need code changes.
Is HAMi free to use? What license does it have?
HAMi is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is HAMi still maintained?
Actively maintained. The last commit to HAMi was on Oct 21, 2026.
What can I use HAMi for?
Increasing utilization of GPUs in shared Kubernetes AI clusters. Running multi-tenant notebook, training and inference workloads on one accelerator pool. Building private cloud AI platforms with quota control over device allocation. Operating mixed-vendor accelerator clusters under one scheduling workflow.
How do I install HAMi?
Label the GPU nodes so HAMi can manage them: kubectl label nodes <node-name> gpu=on Add the HAMi Helm repository: helm repo add hami-charts https://project-hami.github.io/HAMi/ Install HAMi with Helm into kube-system: helm install hami hami-charts/hami -n kube-system Verify that hami-device-plugin and hami-scheduler are Running: kubectl get pods -n kube-system
Where can I get HAMi?
The source code and installation instructions are on GitHub: https://github.com/Project-HAMi/HAMi

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects