Assegnare GPU dedicate alle VM di inferenza
Per utilizzare le GPU in una VM Proxmox, serve il passthrough PCI che assegna la scheda fisica direttamente alla macchina virtuale.
1. Abilitare IOMMU
# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
update-grub && reboot
2. Verificare gruppi IOMMU
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=$(basename $(dirname $(dirname $d)))
echo "IOMMU Group $n: $(lspci -nns $(basename $d))"
done
3. Configurare VFIO
# Trovare GPU IDs
lspci -nn | grep NVIDIA
# Es: 41:00.0 3D controller [0302]: NVIDIA Tesla P4 [10de:1bb3]
# /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:1bb3
# /etc/modules
vfio
vfio_iommu_type1
vfio_pci
update-initramfs -u -k all && reboot
4. Assegnare alla VM
# Da web UI: VM > Hardware > Add > PCI Device
# Selezionare la GPU, abilitare "All Functions" e "PCI-Express"
# Da CLI:
qm set 200 -hostpci0 41:00,pcie=1
5. Nella VM: installare driver
# La VM vede la GPU come hardware fisico
lspci | grep NVIDIA
apt install nvidia-driver -y
nvidia-smi
6. Multi-GPU
# Assegnare 2 GPU alla stessa VM
qm set 200 -hostpci0 41:00,pcie=1
qm set 200 -hostpci1 42:00,pcie=1
Il passthrough permette alla VM di sfruttare il 100% delle prestazioni GPU, essenziale per inferenza AI a bassa latenza.