Красота — это обещание счастья (Т. Гоббс).

virtio-nvgpu обеспечивает общий доступ к графическим процессорам NVIDIA для гостевых систем Linux KVM


virtio-nvgpu обеспечивает общий доступ к графическим процессорам NVIDIA для гостевых систем Linux KVM

Nestri Labs разрабатывает virtio-nvgpu — экспериментальный проект, который позволяет гостевым системам Linux KVM получать доступ к графическим процессорам NVIDIA без традиционного сквозного подключения PCI. Цель проекта — дать возможность нескольким изолированным игровым виртуальным машинам использовать один и тот же графический процессор NVIDIA, рендерить кадры, кодировать их с помощью NVENC и передавать результат удалённым клиентам.

Вместо того чтобы выделять весь графический процессор для одной виртуальной машины, virtio-nvgpu оставляет его на хосте Linux и позволяет нескольким виртуальным машинам совместно использовать его. Нестри продемонстрировал, как четыре виртуальные машины одновременно используют одну GeForce RTX 3060.

Проект работает с KVM и пользовательским устройством virtio. В гостевой системе собственные драйверы NVIDIA в пользовательском пространстве остаются без изменений, а драйвер ядра гостевой системы перенаправляет необходимые запросы на драйвер NVIDIA на хосте.

В отличие от подходов, основанных на трансляции вызовов Vulkan или OpenGL, virtio-nvgpu работает на уровне ABI драйвера ядра NVIDIA. Это позволяет выполнять большую часть работы с графическим процессором внутри гостевой системы и сокращает объем данных, передаваемых через границу виртуальной машины.

Согласно тестам Nestri, производительность близка к «голой» платформе и составляет около 2 % или меньше при типичных рабочих нагрузках. Проект также поддерживает рендеринг в Vulkan, представление в Wayland, кодирование NVENC и базовое перечисление устройств CUDA.

Связь с Nestri прямая. В проекте nesbox используются легковесные микровиртуальные машины на основе KVM для потоковой передачи облачных игр. Графические процессоры Intel и AMD уже используют существующие механизмы virtio-gpu, а virtio-nvgpu разрабатывается для обеспечения аналогичной поддержки оборудования NVIDIA.

На данный момент virtio-nvgpu остается экспериментальной технологией. Она не обеспечивает такую же изоляцию, как сквозной режим VFIO, и ее поддержка зависит от совместимости ABI драйвера NVIDIA. Тем не менее проект уже функционирует и поддерживает Vulkan, Wayland, NVENC и совместное использование графического процессора несколькими гостевыми системами.

Подробнее см. репозиторий проекта на GitHub.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

1 × три =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала