hami

HAMi GPU 共享与调度

补充说明

HAMi(原 Volcano vGPU)在 Kubernetes 上提供 GPU 共享、显存/算力切分和异构设备调度。它通过 device plugin、scheduler extender 和 webhook 让多个 Pod 共享同一张 GPU。

适合推理服务、开发环境和 GPU 利用率低的集群;训练大模型仍建议整卡或 MIG。

常用示例

安装:

helm repo add hami-charts https://project-hami.github.io/HAMi/
helm install hami hami-charts/hami \
  --namespace kube-system \
  --set scheduler.kubeScheduler.imageTag=v1.30.0
kubectl -n kube-system get pods | grep hami

查看节点 GPU 资源:

kubectl get nodes -o json | jq '.items[].status.allocatable'

申请共享 GPU:

kubectl apply -f - <<'EOF'
apiVersion: v1
kind: Pod
metadata:
  name: shared-gpu
spec:
  containers:
  - name: app
    image: pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime
    resources:
      limits:
        nvidia.com/gpu: 1
        nvidia.com/gpumem: 4096
        nvidia.com/gpucores: 30
EOF

查看分配:

kubectl describe node <NODE> | grep -A10 'Allocated resources'
kubectl -n kube-system logs deploy/hami-scheduler -f

易错点与排错