Repolode
Project-HAMi

Project-HAMi/HAMi

面向 Kubernetes 的中间件,可按显存和算力在多个 Pod 间共享 GPU 等 AI 加速卡,并支持设备感知调度。

Star
4,896
Fork
872
未关闭 Issue
33
最近提交
7小时前

这是什么?

HAMi(Heterogeneous AI Computing Virtualization Middleware,原名 k8s-vGPU-scheduler)让平台团队在 Kubernetes 上共享昂贵的 GPU 及其他 AI 加速卡。Pod 只需像常规资源请求一样声明显存或核心数量,即可获得设备的一部分,应用代码无需修改。

项目由 Mutating Webhook、调度器扩展、设备插件和容器内虚拟化组件构成。调度支持 binpack、spread、拓扑感知、独占和 NUMA 等策略,NVIDIA MIG 实例可动态创建与回收。支持的设备包括 NVIDIA、AMD、华为昇腾、寒武纪、海光、天数智芯、昆仑芯、沐曦、摩尔线程等。

项目通过 Helm 安装,可选择高可用调度器副本,并提供 Prometheus 指标和配套的 WebUI。该项目为 CNCF Incubating 项目。

核心功能

  • 01通过标准 Kubernetes 资源请求按显存和核心数共享 GPU。
  • 02支持 binpack、spread、拓扑感知、独占和 NUMA 等调度策略。
  • 03支持 NVIDIA MIG 并动态管理实例。
  • 04覆盖昇腾、寒武纪、海光、沐曦等多家加速卡厂商。
  • 05提供 Prometheus 指标、WebUI 和 Grafana 仪表盘。

适用场景

  • 提高共享 Kubernetes AI 集群中 GPU 的利用率。
  • 在同一加速卡资源池上运行多租户的 Notebook、训练和推理任务。
  • 搭建带配额控制的私有云 AI 平台。
  • 用统一的调度流程管理多厂商异构加速卡集群。

快速上手

  1. 1

    为 GPU 节点打上标签,以便 HAMi 管理它们

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

    添加 HAMi Helm 仓库

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

    使用 Helm 将 HAMi 安装到 kube-system 命名空间

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

    确认 hami-device-plugin 和 hami-scheduler 处于 Running 状态

    kubectl get pods -n kube-system

使用前须知

  • 需要 Kubernetes 集群和 Helm;使用 NVIDIA 路径还需满足驱动和容器工具包等前置条件。
  • 集群节点需要有加速卡硬件才能发挥作用。

标签

常见问题

HAMi 是什么?
面向 Kubernetes 的中间件,可按显存和算力在多个 Pod 间共享 GPU 等 AI 加速卡,并支持设备感知调度。 HAMi(Heterogeneous AI Computing Virtualization Middleware,原名 k8s-vGPU-scheduler)让平台团队在 Kubernetes 上共享昂贵的 GPU 及其他 AI 加速卡。Pod 只需像常规资源请求一样声明显存或核心数量,即可获得设备的一部分,应用代码无需修改。
HAMi 可以免费使用吗?用的什么许可证?
HAMi 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
HAMi 还在维护吗?
活跃维护中。HAMi 最近一次提交是在 2026年10月21日。
HAMi 适合用来做什么?
提高共享 Kubernetes AI 集群中 GPU 的利用率。 在同一加速卡资源池上运行多租户的 Notebook、训练和推理任务。 搭建带配额控制的私有云 AI 平台。 用统一的调度流程管理多厂商异构加速卡集群。
HAMi 怎么安装和运行?
为 GPU 节点打上标签,以便 HAMi 管理它们: kubectl label nodes <node-name> gpu=on 添加 HAMi Helm 仓库: helm repo add hami-charts https://project-hami.github.io/HAMi/ 使用 Helm 将 HAMi 安装到 kube-system 命名空间: helm install hami hami-charts/hami -n kube-system 确认 hami-device-plugin 和 hami-scheduler 处于 Running 状态: kubectl get pods -n kube-system
在哪里获取 HAMi?
源代码和安装说明在 GitHub 上:https://github.com/Project-HAMi/HAMi

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目