首页
/ 【免费下载】 HAMi安装与配置完全指南

【免费下载】 HAMi安装与配置完全指南

2026-01-20 02:40:00作者:郁楠烈Hubert

项目基础介绍及主要编程语言

项目名称: HAMi(异构人工智能计算虚拟化中间件)

项目地址: https://github.com/Project-HAMi/HAMi

主要编程语言: Go

HAMi,原名k8s-vGPU-scheduler,是一个旨在管理Kubernetes集群中异构AI计算设备的一体化解决方案。作为CNCF沙盒项目之一,它支持设备共享、内存控制、设备类型和UUID特定调度等关键特性,简化了在云原生环境中部署和利用如GPU这样的复杂硬件的过程。

关键技术和框架

  • Kubernetes (K8s): HAMi深度集成于Kubernetes,通过扩展其调度能力来管理和分配异构设备资源。
  • Webhooks: 实现统一的更改请求处理,以适应设备分配策略。
  • Device Plugins: 为不同的AI设备提供适配插件,实现资源的容器化管理。
  • Virtualization Techniques: 在容器内部采用不同技术虚拟化各种异构AI设备。

安装与配置步骤

准备工作

  1. 环境要求:

    • NVIDIA Drivers: 至少版本440。
    • Docker/NVIDIA-Docker: 版本大于2.0,并确保container runtime是nvidia。
    • Kubernetes: 至少版本1.16。
    • glibc: 版本2.17到2.30之间。
    • Kernel Version: 至少3.10。
    • Helm: 版本3.0以上。
  2. 安装NVIDIA Container Toolkit:

    • 确保所有GPU节点已安装NVIDIA驱动器。
    • 配置Docker或Containerd以使用nvidia-container-runtime作为默认运行时环境。

GPU节点配置示例

  • 对于基于Debian的系统(包括Docker和containerd):

    echo 'deb https://nvidia.github.io/libnvidia-container/stable $(lsb_release -cs) main' | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
    sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
    
  • 修改容器运行时配置(Docker示例):

    {
      "default-runtime": "nvidia",
      "runtimes": {
        "nvidia": {
          "path": "/usr/bin/nvidia-container-runtime",
          "runtimeArgs": []
        }
      }
    }
    

    重启Docker服务后生效。

  • 对于containerd,修改config.toml并重启containerd服务。

标签GPU节点

  • 给GPU节点添加标签以便于HAMi调度:
    kubectl label nodes <节点名> gpu=on
    

HAMi安装

  1. 添加Helm仓库:

    helm repo add hami-charts https://project-hami.github.io/HAMi/
    
  2. 检查Kubernetes版本并安装HAMi(假设服务器版本为1.16.8):

    kubectl version
    helm install hami hami-charts/hami --set scheduler.kubeScheduler.imageTag=v1.16.8 -n kube-system
    
  3. 验证安装:

    kubectl get pods -n kube-system
    

    确认vgpu-device-pluginvgpu-scheduler都处于Running状态表示安装成功。

升级HAMi

  • 卸载现有安装:

    helm uninstall hami -n kube-system
    
  • 更新仓库并重新安装最新版本:

    helm repo update
    helm install hami hami-charts/hami -n kube-system
    

至此,您已经完成了HAMi的安装和基本配置,可以开始利用HAMi在Kubernetes集群中高效地管理和分配异构AI计算资源了。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
832
5.52 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
497
522
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
808
1.17 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
802
1.6 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
982
2.32 K
kernelkernel
deepin linux kernel
C
33
16
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.05 K
786
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
486
315
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.27 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
668
316