AMD выпустила open-source драйвер GIM для SR-IOV на Linux — теперь один GPU можно делить между ВМ без потери производительности
AMD опубликовала исходники модуля GIM (GPU-IOV Module) — ядро-драйвера для Linux, реализующего аппаратную виртуализацию видеокарт с помощью технологии SR-IOV.
Оно позволяет делить ресурсы одного физического GPU между несколькими виртуальными машинами без значительных потерь производительности.
Зачем нужен SR-IOV
Технология SR-IOV (Single Root I/O Virtualization) используется для разделения ресурсов устройств ввода-вывода между виртуальными машинами. Вместо классической эмуляции или проброса устройств, SR-IOV позволяет выделять каждой машине отдельную виртуальную функцию, напрямую связанную с физическим устройством.
В случае с видеокартами — это означает доступ к «настоящему» GPU с минимальной прослойкой, что критично для задач, где важна производительность: ML, HPC, визуализация.
Что умеет GIM
Драйвер GIM написан на C и распространяется под лицензией MIT. Готовые пакеты уже доступны для Ubuntu 22.04.
Вышел Godot 4.4: что нового в набирающем популярность игровом движке?tproger.ru
Сейчас модуль поддерживает лишь карты с архитектурой MxGPU — в первую очередь это AMD Instinct MI300X, предназначенные для дата-центров и ИИ-нагрузок.
Возможности модуля:
- Инициализация SR-IOV на GPU
- Управление виртуальными функциями (VF)
- Планирование ресурсов между ВМ
- Выявление зависаний и сброс состояния (FLR)
- Взаимодействие между физическим GPU (PF) и виртуальными функциями
Работает драйвер с гипервизорами на базе KVM.
Планы на будущее
В AMD сообщили, что GIM может быть адаптирован и под обычные дискретные видеокарты.
Это открывает перспективы использования SR-IOV не только в облаках и дата-центрах, но и в рабочих станциях — например, для разделения GPU между контейнерами или разработчиками в одной системе.