Ссылки:

Заметки:

1) Требуется поддержка IOMMU процессором и материнской платой (IOMMU должна быть включена в BIOS).

2) PCI GPU прокидывается только вместе со всеми устройствами той же IOMMU-группы. (подробнее)

3) Прокинутая GPU должна использоваться эксклюзивно (нельзя использовать одну GPU и в host, и в guest, как и нельзя использовать в нескольких guest). Поэтому host-система обязана игнорировать прокидываемые GPU (см. тут про “vfio-pci” и “Isolation of the guest GPU”).

4) Нужен дисплей подключенный к GPU напрямую. Большинство мониторов умеют переключаться между несколькими кабелями, т.ч. это небольшая проблема. Об этом так же пишут тут в комментариях по ключевому слову “monitor”. Кроме того возможна поддержка полноценного OpenGL с удаленным доступом по VNC и без подключения внешнего дисплея - можно сконфигурировать гостевую систему с VirtualGL этими скриптами (поверх TurboVNC можно поднять noVNC сервер, и подключаться с любого компьютера через браузер).

Заметки про NVidia Geforce и Titan:

5) Драйвер Geforce откажется работать если заметит виртуализацию. Он проверяет сигнатуру гипервизора в CPUID. Поэтому в случае KVM нужно выставить kvm_hidden=on (см. devtalk, askubuntu, detecting virtualization).

6) В датацентрах нельзя использовать драйвера для Geforce и Titan (в соответствии с EULA драйвера):

No Datacenter Deployment. The SOFTWARE is not licensed for datacenter deployment, except that blockchain processing in a datacenter is permitted.

Четкого термина что такое по мнению NVidia датацентр пока нет.