Компания AMD опубликовала исходный код GIM (GPU-IOV Module), модуля для ядра Linux c реализацией возможности аппаратной виртуализации GPU на устройствах, поддерживающих технологию SR-IOV (Single Root I/O Virtualization). SR-IOV позволяет распределять ресурсы одного физического устройства между несколькими виртуальными машинами. При помощи GIM виртуальные машины напрямую могут получить доступ к ресурсам GPU, что позволяет значительно поднять производительность, благодаря исключению лишних прослоек, обеспечивая при этом необходимый уровень изоляции. Код GIM написан на языке Си и открыт под лицензией MIT. Готовые пакеты опубликованы для Ubuntu 22.04.
В настоящее время драйвер может работать только с продуктами AMD, поддерживающими технологию разделения ресурсов GPU – MxGPU, основанную на стандарте SR-IOV. Заявлена поддержка ускорителей серии AMD Instinct MI300X, предназначенных для выполнения высокопроизводительных вычислений и решения задач машинного обучения в дата-центрах. Отдельно разработчики GIM упомянули планы по адаптации модуля для использования с GPU, применяемых в потребительских дискретных видеокартах.
Модуль совместим с системами виртуализации на базе гепирвизора KVM и предоставляет такие возможности, как инициализация GPU-IOV, настройка и включение виртуальных функций, планирование распределения ресурсов GPU между виртуальными машинами, определение зависаний и выполнение сброса состояния на уровне виртуальной функции (FLR, Function Level Reset), согласование взаимодействия между физическими (PF) и виртуальными (VF) функциями.