Horizontally scalable, multi-tenant log aggregation system that indexes only labels, not log contents, from Grafana Labs.
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
Label the GPU nodes so HAMi can manage them
kubectl label nodes <node-name> gpu=on - 2
Add the HAMi Helm repository
helm repo add hami-charts https://project-hami.github.io/HAMi/ - 3
Install HAMi with Helm into kube-system
helm install hami hami-charts/hami -n kube-system - 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
A command-line tool that installs K3s Kubernetes over SSH on a remote or local VM and fetches a kubeconfig for kubectl access.
A Kubernetes operator that runs and manages Apache Kafka clusters on Kubernetes and OpenShift, including Kafka Connect and Kafka Streams.
A lightweight, open-source Kubernetes dashboard for managing multiple clusters, with monitoring, RBAC access control and an AI troubleshooting assistant.
A Go terminal UI for real-time log analysis, with live charts, severity breakdowns, regex filtering, and optional AI-powered insights.
Self-hosted, web-based real-time dashboard for monitoring NVIDIA GPUs, with a hub mode for multiple machines.