NVIDIA GPU 上的 HAMi
当 NVIDIA 工作负载需要 HAMi 调度、整卡 GPU 分配、内存或计算共享,或由 HAMi 管理的动态 MIG 时,请使用此场景。如果需要不使用 HAMi 的直接 NVIDIA GPU 分配,请改用 NVIDIA GPU 文档。
在创建工作负载之前
请确认:
- 已安装
Alauda Build of HAMi,并且已启用 启用 NVIDIA; - 目标节点已通过 HAMi NVIDIA 节点标签进行选择,通常为
gpu=on; - HAMi 是该节点池中物理 GPU 的唯一 Device Plugin 所有者;
- 节点报告了已安装包提供的 HAMi NVIDIA 资源键。
运行以下检查:
目标节点必须报告 nvidia.com/gpualloc,以及工作负载所需的可选内存或计算键。如果同一节点还通过另一个 NVIDIA Device Plugin 暴露了直接分配资源,请先解决 Device Plugin 所有权冲突,然后再继续。
了解资源请求
下面的示例使用 nvidia.com/gpualloc、nvidia.com/gpucores 和 nvidia.com/gpumem。有关它们的含义、单位以及基于百分比的备用内存键,请参见 资源键。不要在同一个容器中同时使用绝对值和基于百分比的内存键。
运行共享 GPU 工作负载
下面的 Pod 清单请求以 1 个物理 GPU 作为分配基础、4096 MiB 的 GPU 内存以及 50% 的计算能力。请将镜像替换为包含 nvidia-smi 和您的测试应用程序的 CUDA 镜像。
创建并检查 Pod:
结果解释如下:
scheduler=hami-scheduler表示该工作负载使用了 HAMi 调度器。- 非空的
hami.io/vgpu-devices-allocated注解表示 HAMi 已为容器分配了物理 GPU 和共享配额。 CUDA_DEVICE_MEMORY_LIMIT_0=4096m、CUDA_DEVICE_SM_LIMIT=50以及libvgpu.so预加载条目表示已注入 HAMi-Core 共享运行时。nvidia-smi表示基本设备可见性,但它本身并不能证明强制执行生效。请运行 CUDA 内存分配或计算工作负载,以进行端到端配额验证。
如果仅请求 nvidia.com/gpualloc,HAMi 会通过相同的 HAMi 管理路径分配整块 GPU。对于由 HAMi 管理的动态 MIG,请继续阅读 配置动态 MIG。