⚠️ 此功能仍处于实验阶段,请谨慎使用。
启用动态 MIG 功能
HAMi 现支持使用 mig-parted 动态调整 MIG 设备,包括:
-
动态 MIG 实例管理:用户无需直接在 GPU 节点上操作或使用
nvidia-smi -i 0 -mig 1等命令管理 MIG 实例,HAMi-device-plugin 会自动处理。 -
动态 MIG 调整:HAMi 管理的每个 MIG 设备会根据提交的作业需求动态调整其 MIG 模板。
-
设备 MIG 观察:HAMi 生成的每个 MIG 实例都会显示在调度器监控中,并附带作业信息,清晰展示 MIG 节点状态。
-
与 HAMi-Core 节点兼容:HAMi 可统一管理 HAMi-core 节点和 MIG 节点的 GPU 池。作业可调度到任一节点,除非通过
nvidia.com/vgpu-mode注解手动指定。 -
与 HAMi-Core 统一 API:作业无需额外操作即可兼容动态 MIG 功能。
目录
前提条件
- NVIDIA Blackwell、Hopper™ 和 Ampere GPU
- 已安装 Alauda 版本的 Hami
启用动态 MIG 支持
- 在 device-plugin 的 configMap 中将模式配置为 mig,用于 MIG 节点
将
nodeconfig数组中的节点名称替换为需要设置为 mig 模式的节点名称。如果有多个节点,增加数组元素数量。 - 重启以下 Pod 以使配置生效:
- hami-scheduler
- 节点 'MIG-NODE-A' 上的 hami-device-plugin
注意: 上述配置在升级过程中会丢失,未来版本的 Hami 将对此进行改进。
自定义 MIG 配置(可选)
HAMi 当前内置了 MIG 的默认配置。
您可以通过以下步骤自定义 MIG 配置:
然后重启 hami-scheduler 组件。 HAMi 会按照此 configMap 中定义的顺序,识别并使用第一个匹配作业的 MIG 模板。
注意: 上述配置在升级过程中会丢失,未来版本的 Hami 将对此进行改进。
运行 MIG 作业
容器现在可以像使用 hami-core 一样请求 MIG 实例,只需指定 nvidia.com/gpualloc 和 nvidia.com/gpumem 资源类型。
注意:
nvidia.com/gpualloc的数量不能超过实际物理 GPU 数量。例如,单个 MiG 模式 GPU 只能设置为 1。这是 Hami 的限制,未来版本会改进。- MIG 节点无需额外操作——所有管理由 hami-device-plugin 中的 mig-parted 自动完成。
- Ampere 架构之前的 NVIDIA 设备不支持 MIG 模式。
- 节点上不会显示 MIG 资源(例如:
nvidia.com/mig-1g.10gb)。HAMi 对 MIG 和 hami-core 节点使用统一的资源名称。 - 在进行 MIG 分区时,部署在 MIG 节点上的
DCGM-exporter组件必须停止,因为 MIG 分区需要重置 GPU。首次创建启用 MIG 的工作负载时,会自动执行 MIG 分区。后续工作负载不会触发额外分区。所有工作负载停止后,再次启动第一个工作负载时会再次触发 MIG 分区。