NVIDIA выпустила патчи vGPU для Linux

ВГПУ Linux

Несколько дней тому назад, NVIDIA объявила, через списки рассылки ядра, выпустив набор патчи, реализующие технологию vGPU. Эти патчи позволяют использовать виртуальные графические процессоры NVIDIA. в системах виртуализации, обеспечивая высокую производительность графического процессора для разнообразных рабочих нагрузок, от виртуальных рабочих станций с интенсивным использованием графики до приложений для обработки данных и искусственного интеллекта.

виртуальный графический процессор делит физические ресурсы графического процессора NVIDIA на аппаратное обеспечение, назначение каждому виртуальному графическому процессору собственной виртуальной функции PCI Express (VF). Это означает, что можно запускать гостевые системы, выполняющие различные задачи, максимально используя доступные ресурсы.

Упоминается, что Каждый виртуальный графический процессор NVIDIA функционирует аналогично обычному графическому процессору. поскольку он имеет фиксированный объем кадрового буфера и один или несколько выходов виртуального экрана, также известных как «головы». Буфер кадров виртуального графического процессора выделяется из физического буфера кадров графического процессора во время его создания, и виртуальный графический процессор сохраняет эксклюзивное использование этого буфера до тех пор, пока он не будет уничтожен.

Это позволяет ИТ-специалистам воспользоваться преимуществами виртуализации в области управления и безопасности, а также производительностью графических процессоров NVIDIA, необходимой для современных рабочих нагрузок. Программное обеспечение NVIDIA vGPU, установленное на физическом графическом процессоре в облаке или на сервере корпоративного центра обработки данных, создает виртуальные графические процессоры, которые можно использовать на нескольких виртуальных машинах.

Контроллер совместим с видеокартами NVIDIA на базе Микроархитектура Ады Лавлейс, а количество виртуальных графических процессоров, которые вы можете создать, зависит от модели вашей видеокарты.

В хост-системе модифицированный драйвер Nouveau отвечает за создание и сопряжение виртуальных графических процессоров с гостевыми системами. При этом в гостевой системе используются стандартные фирменные драйверы NVIDIA. Это гарантирует, что возможности виртуального графического процессора будут аналогичны возможностям обычного графического процессора, позволяя выделить часть памяти из физического буфера кадров графического процессора виртуальному графическому процессору, гарантируя, что она будет использоваться только виртуальным графическим процессором.

Существует несколько типов vGPU., каждый из которых предназначен для разных целей, с разным объемом видеопамяти, количеством виртуальных экранов и максимальным разрешением.

Реализация охватывает базовый драйвер nvkm, который построен на основе открытого драйвера Nouveau, а также менеджера vGPU, называемого vgpu_mgr, который работает как модуль VFIO (виртуальный ввод-вывод). Этот менеджер берет на себя такие ключевые функции, как создание и удаление виртуальных графических процессоров, выбор их типа и предоставление API для управления из пользовательского пространства.

Модуль NVIDIA vGPU VFIO вместе с VFIO расположен в VF, обеспечивает расширенные возможности и управление, например, выбор типов vGPU, поддержка Живая миграция и горячее обновление драйверов.

Как и другие устройства, совместимые с VFIO, VFIO обеспечивает
Стандартный API пользовательского пространства для управления жизненным циклом устройства и Поддержка расширенных функций.

Менеджер NVIDIA vGPU обеспечивает необходимую поддержку Вариант драйвера NVIDIA vGPU VFIO для создания/уничтожения виртуальных графических процессоров, просмотрите доступные типы виртуальных графических процессоров, выберите тип vGPU и т. д.

Администратор vGPU взаимодействует с базовым драйвером графического процессора., который напрямую обращается к оборудованию. Дополнительно загрузите прошивку GSP, NVIDIA vGPU Manager.  выполняет следующие функции:

  • Управляет общими/разделенными аппаратными ресурсами. Например, резервная память FB,
    каналы для менеджера виртуальных графических процессоров для создания виртуальных графических процессоров.
  • Обработка исключений. Например, доставка событий GSP менеджеру vGPU.
  • Отправка принимающих событий. Например, приостановить/возобновить.
  • Перечисления конфигурации оборудования.

Наконец, если вы интересно узнать о нем больше, вы можете проверить детали в следующая ссылка, а также вы также можете увидеть код в действии в следующем видео. Тестирование кода проводилось на Ubuntu 24.04 в качестве гостевой операционной системы.


Добавить в качестве предпочтительного источника в Google