Sobes.tech
Назад к вопросам
Senior
10

Что такое MIG (Multi-Instance GPU) на A100/H100?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

MIG — это аппаратный механизм разделения одной GPU на несколько изолированных GPU-инстансов с гарантированными ресурсами. На A100/H100 он позволяет безопасно и предсказуемо делить карту между несколькими задачами или пользователями. Это полезно, когда важно повысить утилизацию GPU без взаимного влияния нагрузок.

Определение:

MIG (Multi-Instance GPU) — технология, которая физически делит одну GPU на несколько независимых инстансов. Каждый инстанс получает фиксированную долю вычислительных блоков, памяти и пропускной способности, поэтому задачи внутри разных инстансов меньше мешают друг другу. Это не просто time-sharing, а именно аппаратная изоляция ресурсов.

Пример использования:

Например, на A100 можно выделить несколько небольших MIG-инстансов для инференс-сервисов, чтобы разные модели работали параллельно и не конкурировали за память и SM. Это удобно в мультиарендной среде или при смешанной нагрузке, когда одна большая GPU нужна не целиком, а нескольким командам одновременно.

# Логика работы обычно такая:
# 1) включить MIG-режим на GPU
# 2) создать GPU instances и compute instances
# 3) назначить конкретный MIG-профиль под задачу
# 4) запускать приложение на соответствующем MIG device

nvidia-smi -i 0 -mig 1
nvidia-smi mig -i 0 -cgi 19,19 -C
nvidia-smi -L

Пояснение кода:

В примере показан типичный workflow управления MIG через nvidia-smi. Сначала на GPU включается MIG-режим. Затем создаются инстансы с нужным профилем, после чего система показывает отдельные MIG-устройства, которые уже можно использовать как независимые цели для CUDA-приложений. Точный набор профилей зависит от модели GPU и доступной конфигурации.

Ключевые моменты:

  • MIG дает аппаратную изоляцию ресурсов: память, SM, кэш и часть пропускной способности.
  • Основная цель — предсказуемость и повышение плотности размещения workloads.
  • Полезен для инференса, мультиарендности и разделения большой GPU на мелкие задачи.
  • Это лучше, чем просто одновременный запуск задач без изоляции, потому что снижает взаимное влияние.
  • На практике MIG есть у A100 и H100, но доступные профили и ограничения зависят от конкретной карты и поколения.
  • MIG не превращает GPU в несколько полноценных независимых карт: ресурсы делятся по заранее заданным аппаратным профилям.