Apache YuniKorn vs HAMi
Apache YuniKorn
yunikorn.apache.orgHAMi
project-hami.ioSide by side
| Figure | Apache YuniKorn | HAMi |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | — | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GPU Cluster Management Software | 8.1 (#6) | 8.3 (#5) |
| Deployment | The project recommends deploying YuniKorn to an existing Kubernetes cluster using its Helm chart and Helm 3 or later. | The quick start installs HAMi with Helm and requires Kubernetes, Helm, kubectl, and installation permissions. |
| Integrations | YuniKorn exposes scheduling metrics via Prometheus, and the project provides instructions for monitoring with Prometheus and Grafana. | The site lists Kubernetes, Volcano, Kueue, Koordinator and KAI Scheduler in its Kubernetes scheduling ecosystem. |
| Purpose | Apache YuniKorn is a resource scheduler for running batch, data, and machine learning workloads on Kubernetes. | HAMi is open-source, cloud-native GPU virtualization middleware for sharing, isolating, and scheduling heterogeneous accelerators on Kubernetes. |
| Support | Users can ask for help in the YuniKorn Slack #yunikorn-user channel or use the user mailing list. | The site links to documentation, tutorials, Discord and the `#hami-dev` Slack channel for community resources. |
Plans
In their own words
Apache YuniKorn
Apache YuniKorn is a resource scheduler for batch, data, and machine learning workloads on Kubernetes. It is a Kubernetes-compatible alternative to the default scheduler and is described as transparent to existing Kubernetes applications. Hierarchical queues provide fine-grained tenant controls that can reflect an organization’s structure. Scheduling features include gang scheduling, FIFO and Fair job ordering, resource fairness, reservations, and preemption. A web UI centralizes cluster capacity, utilization, and application information. YuniKorn exposes metrics through Prometheus, and project guidance covers monitoring with Prometheus and Grafana. The project recommends deployment to an existing Kubernetes cluster using its Helm chart and Helm 3 or later. The software is free under the Apache License 2.0. Releases include source tarballs, which must be built before use, and prebuilt Docker images. The project advises checking release artifacts for tampering with GPG or SHA-512. Help is available through the YuniKorn Slack #yunikorn-user channel or the user mailing list.
HAMi
HAMi is open-source middleware for sharing and scheduling GPUs and other accelerators among AI workloads on Kubernetes. Workloads can request GPU memory and core limits through Kubernetes resource controls. Scheduling options include binpack, spread and numa-first, with binpack and spread available at node or GPU scope. The supported-device list spans NVIDIA, AMD, AWS Neuron, Huawei Ascend, Cambricon, Enflame, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads, Vastai and Biren; isolation and partitioning capabilities vary by device. HAMi works with Kubernetes APIs, DRA and CDI, and documents scheduling integrations including Volcano, Kueue, Koordinator and NVIDIA KAI Scheduler. Its node metrics endpoint exposes device memory and core utilization for Prometheus. Classic HAMi requires Kubernetes v1.23 or later. HAMi-DRA requires Kubernetes v1.34 or later, the DRA Consumable Capacity feature gate, CDI and NVIDIA driver 440 or later. NVIDIA limits use user-space library interception, which does not cover applications that bypass CUDA. Enforcement is described as soft and best-effort; the FAQ recommends MIG when hardware-enforced isolation is required.