А как дела с vgpu ?
Попробую внести немного конструктива и оптимизма. Так и не понял конспирологии, которую описывал icewolf весь день
У нас ситуация с GPU/vGPU следующая:
1. В одном из облаков у нас порядка 80 карт Nvidia Tesla в разных комбинациях и 4 карты AMD MI100
2. Все комбинации рабочие, никаких "секретных" карт нам к счастью ни разу не доставалось:
a. Dell R740/ Xeon Gold 6226R + Tesla V100S PCIe 32GB
b. Supermicro AS-4124GS-TNR/AMD EPYC 7513 + Tesla T4 PCIe 16GB
c. Dell R750xa/Xeon Platinum 8358 + NVIDIA A100 PCIe 40GB
d. Niagara R2206SG (supermicro)/AMD EPYC 7513 + NVIDIA A100 PCIe 40GB
e. Lenovo SR670 V2/Xeon Gold 6338 + NVIDIA A100 PCIe 80GB
f. Dell R750XA/Xeon Gold 6338 + NVIDIA A100 PCIe 80GB
g. Dell R750xa/Xeon Gold 6338 + AMD Instinct MI100 32GB
h. есть ещё где-то SXM4 версии карт A100, но сходу не могу найти
3. Для карт Ampere vGPU нормально работают с парой не очень приятных особенностей:
a. Нужно в скрипт автозагрузки добавлять команды разбиения на карты и создания mdev девайсов, чтобы при ребуте не терялись идентификаторы. В противном случае nova-compute не запускается, поскольку помнит, что у виртуалок были девайсы с определёнными идентификаторами.
b. Разумеется, жадная Nvidia хочет лицензию внутри виртуальной машины на требуемые типы vGPU. Про деление через sriov без лицензии верится слабо (кто-то выше писал) -- я читал исходники драйверов из утечки, там довольно жестко определяется тип нарезанной карты прямо в драйвере. Если нарезать нештатным способом, драйвер все равно понимает, что это vgpu и требует лицензию
c. В зависимости от конкретной карты нужно внимательно смотреть в документации, какой версии драйвер она хочет в хост- и гостевой системе (525 или 535) чтобы расслоение через MIG срабатывало правильно и работало внутри виртуалки. Драйвера как ни странно было проще качать не с сайта Нвидии, а у какого-то заботливого чувака с гитхаба, его репозиторий прихлопнули, к сожалению (был тут: https://github.com/justin-himself/NVIDIA-VGPU-Driver-Archive)
4. С точки зрения использования самих видеокарт через pci-passthrough целиком проблем у Nvidia вообще никаких. Единственное что, нужно выключать у видеокарт GSP, он приводит к сбоям внутри ВМ (https://github.com/NVIDIA/open-gpu-kernel-modules/issues/446)
5. Проблемы с прокидыванием внутрь виртуалок были только у AMD MI100 из-за того что при перезагрузке ВМ посылается неправильная последовательность команд для освобождения PCIe устройств. Коллеги починили это модулем к ядру, но полноценно протестировать пока не успеваем. Если кто-то заинтересованный есть, могу забрать код у автора и дать под честное слово рассказать результат (мы его собираемся заопенсорсить, но только после того как кто-то его проверит — мы или не мы)