Un plafond logiciel temporaire de 400 W (contre 600 W par défaut sur la carte observée) a été utilisé pendant un diagnostic électrique. Les essais ComfyUI et Ollama des 27–28 septembre 2026 ont ensuite été réalisés à 600 W, sur décision explicite. Aucun gain de stabilité durable ni comparaison de performance entre ces plafonds n'est établi.
nvidia-smi \ --query-gpu=power.limit,power.default_limit \ --format=csv,noheader
La valeur diagnostique de 400 W s'applique avec sudo nvidia-smi --power-limit=400 — réglage non
persistant après un redémarrage ou un rechargement du pilote. Commandes détaillées, télémétrie et retour au
plafond usine sont documentés sur la page
IA & LLM (VM210).
| Technologie | Rôle |
|---|---|
| VFIO | Framework Linux d'isolation PCIe |
| IOMMU / AMD-Vi | Unité de gestion mémoire pour I/O |
| PCI Passthrough | Assignation directe GPU → VM |
| Q35 | Chipset QEMU requis pour PCIe moderne |
| OVMF | UEFI obligatoire pour NVIDIA en passthrough |
| Fichier | Modification |
|---|---|
| /etc/default/grub | amd_iommu=on iommu=pt |
| /etc/modprobe.d/vfio.conf | bind VFIO sur IDs GPU |
| /etc/modules | vfio vfio_iommu_type1 vfio_pci |
| /etc/initramfs-tools/ | Intégration modules au boot |
| /etc/pve/qemu-server/*.conf | Config VM Proxmox |
La mise en place a exigé de distinguer plusieurs niveaux de diagnostic, afin d'attribuer chaque effet à un seul paramètre :
- firmware et IOMMU
- pilote hôte et groupes PCIe
- réservation du GPU et de sa fonction audio à
vfio-pci - configuration de la VM
- pilote invité et CUDA
- runtime conteneurisé (accès GPU jusque dans Docker)
Avant toute mise à jour du firmware, les paramètres nécessaires à IOMMU et VFIO sont sauvegardés et un retour arrière est préparé ; après modification, groupes IOMMU, réservation du GPU et démarrage des VM sont revalidés. Une console virtuelle distincte est conservée pour la récupération.
Exécutée sur l'hôte Proxmox, cette commande détecte la RTX 5090 (sans afficher son adresse), repère les VM configurées pour l'utiliser et publie un libellé assaini — en distinguant l'état courant de la VM de sa politique d'autodémarrage, et en vérifiant qu'une seule VM de passthrough est active à la fois.
gpu_bdf=$(lspci -D | awk '/NVIDIA.*RTX 5090/ {print $1; exit}')
[ -n "$gpu_bdf" ] || { echo 'RTX 5090 non détectée'; exit 1; }
gpu_slot=${gpu_bdf%.*}
gpu_slot_short=${gpu_slot#0000:}
alternative=0
running_gpu_vms=0
for vmid in $(qm list | awk 'NR > 1 {print $1}'); do
config=$(qm config "$vmid")
if grep -Eq "^hostpci[0-9]+:.*(${gpu_slot}|${gpu_slot_short})([.,]|$)" \
<<< "$config"; then
if [ "$vmid" = 210 ]; then
label="IA-Core"
else
alternative=$((alternative + 1))
label="GPU-alternative-${alternative}"
fi
status=$(qm status "$vmid" | awk '{print $2}')
onboot=$(awk -F': ' '/^onboot:/ {print $2}' <<< "$config")
startup=$(awk -F': ' '/^startup:/ {print $2}' <<< "$config")
[ -z "$onboot" ] && onboot=0
[ -z "$startup" ] && startup="-"
[ "$status" = running ] && running_gpu_vms=$((running_gpu_vms + 1))
printf '%-20s status=%-8s onboot=%-2s startup=%s\n' \
"$label" "$status" "$onboot" "$startup"
fi
done
if [ "$running_gpu_vms" -le 1 ]; then
printf 'GPU passthrough actif : %s VM — exclusivité OK\n' "$running_gpu_vms"
else
printf 'ALERTE : %s VM GPU actives simultanément\n' "$running_gpu_vms"
exit 2
fiIA-Core status=running onboot=1 startup=order=20,up=30,down=60 GPU-alternative-1 status=stopped onboot=0 startup=- GPU-alternative-2 status=stopped onboot=0 startup=- … status=stopped onboot=0 startup=- GPU passthrough actif : 1 VM — exclusivité OK
Un relevé BIOS de référence sépare les valeurs réellement observées des améliorations seulement envisagées. Avant toute mise à jour du firmware, les paramètres nécessaires à IOMMU et VFIO sont sauvegardés et un retour arrière est préparé ; après modification, les groupes IOMMU, la réservation du GPU et le démarrage des VM sont revalidés. Les essais restent unitaires, afin d'attribuer clairement chaque effet au paramètre modifié.
Validation : le pilote NVIDIA et CUDA ont été validés dans une VM Ubuntu, puis l'accès GPU a été vérifié jusque dans des conteneurs Docker (via le NVIDIA Container Toolkit).