⚠️ Эта функция все еще находится в экспериментальном статусе. Используйте ее с осторожностью.
Включение динамической функции MIG
HAMi теперь поддерживает динамический MIG с использованием mig-parted для динамической настройки устройств MIG, включая:
-
Динамическое управление MIG Instance: больше не нужно выполнять операции непосредственно на GPU-узлах или использовать команды вроде
nvidia-smi -i 0 -mig 1для управления MIG instances. HAMi-device-plugin будет делать это автоматически. -
Динамическая настройка MIG: каждое устройство MIG, управляемое HAMi, будет динамически подстраивать свой MIG template в соответствии с отправленными jobs по мере необходимости.
-
Наблюдение за MIG devices: каждый MIG instance, созданный HAMi, будет отображаться в scheduler monitor вместе с информацией о job, обеспечивая наглядный обзор MIG nodes.
-
Совместимость с HAMi-Core Nodes: HAMi может управлять единым пулом GPU как на HAMi-core nodes, так и на MIG nodes. Job может быть назначен на любой из узлов, если иное не указано вручную с помощью аннотации
nvidia.com/vgpu-mode. -
Единый API с HAMi-Core: для обеспечения совместимости jobs с функцией dynamic MIG не требуется выполнять дополнительных действий.
Содержание
Предварительные требованияВключение поддержки dynamic MIGПользовательская конфигурация MIG (необязательно)Запуск MIG jobsПредварительные требования
- NVIDIA Blackwell, Hopper™, и Ampere GPUs
- Установлена сборка Alauda Build of Hami
Включение поддержки dynamic MIG
- Установите
operatingmodeвmigв ConfigMaphami-device-pluginдля каждого MIG node Замените имя узла в массивеnodeconfigна имя целевого узла. Чтобы охватить несколько узлов, добавьте в массив дополнительные записи. - Перезапустите следующие pods, чтобы изменения вступили в силу:
- hami-scheduler
- hami-device-plugin на node 'MIG-NODE-A'
Примечание: приведенная выше конфигурация будет потеряна при обновлении chart; в будущих версиях Hami это будет улучшено.
Пользовательская конфигурация MIG (необязательно)
HAMi поставляется с конфигурацией MIG по умолчанию.
Вы можете настроить конфигурацию MIG, выполнив следующие шаги:
Затем перезапустите компоненты hami-scheduler. HAMi определяет и использует первый MIG template, который соответствует job, в порядке, заданном в этом ConfigMap.
Примечание: приведенная выше конфигурация будет потеряна при обновлении chart; в будущих версиях Hami это будет улучшено.
Запуск MIG jobs
Теперь контейнер может запрашивать MIG instance так же, как и hami-core, просто указав типы ресурсов nvidia.com/gpualloc и nvidia.com/gpumem.
Примечания:
- Запрос
nvidia.com/gpuallocне может превышать фактическое количество физических GPUs. Например, на одной GPU в режиме MIG можно запросить только1. Это текущее ограничение Hami, и в будущих версиях оно будет улучшено. - На MIG nodes не требуется выполнять никаких действий — всем управляет mig-parted в hami-device-plugin.
- Устройства NVIDIA, более старые, чем архитектура Ampere, не поддерживают режим MIG.
- Ресурсы MIG (например:
nvidia.com/mig-1g.10gb) не будут видны на node. HAMi использует единое имя ресурса и для MIG nodes, и для hami-core nodes. - Компонент
DCGM-exporter, развернутый на MIG nodes, необходимо остановить при выполнении partitioning MIG, поскольку partitioning MIG требует сброса GPU. После создания первой workload с включенным MIG выполняется автоматический partitioning MIG. Последующие workload не будут запускать дополнительный partitioning. Когда все workload остановятся, запуск первой workload снова вызовет partitioning MIG.