Outils pour utilisateurs

Outils du site


reseau:cloud:proxmox:lxcnvidia

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseau:cloud:proxmox:lxcnvidia [2026/01/14 15:21] – [Nvidia dans le Container LXC] techer.charles_educ-valadon-limoges.frreseau:cloud:proxmox:lxcnvidia [2026/03/30 15:08] (Version actuelle) – [Nvidia dans le Container LXC] techer.charles_educ-valadon-limoges.fr
Ligne 141: Ligne 141:
 </code> </code>
  
 +
 +  * Vérifier si Proxmox voit bien les deux GPU au niveau PCIe
 +
 +<code>
 +# lspci | grep -i nvidia
 +
 +AF:00.0 NVIDIA Corporation TU104GL [Tesla T4]
 +B0:00.0 NVIDIA Corporation TU104GL [Tesla T4]
 +</code>
 +
 +  * vérifier que CUDA voit les deux cartes
 +
 +<code>
 +# nvidia-smi -L
 +GPU 0: Tesla T4 (UUID: GPU-e5bc6842-5aa8-b29e-aa13-922b15c893f9)
 +GPU 1: Tesla T4 (UUID: GPU-6ac33a99-2cb8-eb7d-6097-f1c29e4d1e51)
 +</code>
 +
 +  * Vérifier si le driver charge bien les deux GPU : il ne doit y avoir aucune erreur
 +
 +<code>
 +# dmesg | grep -i nvidia
 +Erreurs possibles :
 +GPU has fallen off the bus
 +PCIe error
 +failed to initialize gpu
 +RUNTIME_PM: error
 +Unknown chipset
 +NVRM: RmInitAdapter failed
 +</code>
 +
 +  * Vérifier si le module UVM détecte les deux GPU
 +
 +<code>
 +# cat /proc/driver/nvidia/gpus/*/information
 +Il doit y avoir deux répertoires (0 et 1) :
 +# nvidia-smi -q | grep -i "Compute Mode"
 +    Compute Mode                                       : Default
 +root@siohyp2:~# cat /proc/driver/nvidia/gpus/*/information
 +Model:           Tesla T4
 +IRQ:             44
 +GPU UUID:        GPU-e5bc6842-5aa8-b29e-aa13-922b15c893f9
 +Video BIOS:      90.04.b4.00.04
 +Bus Type:        PCIe
 +DMA Size:        47 bits
 +DMA Mask:        0x7fffffffffff
 +Bus Location:    0000:86:00.0
 +Device Minor:    0
 +GPU Firmware:    590.48.01
 +GPU Excluded:    No
 +Model:           Tesla T4
 +IRQ:             46
 +GPU UUID:        GPU-6ac33a99-2cb8-eb7d-6097-f1c29e4d1e51
 +Video BIOS:      90.04.b4.00.04
 +Bus Type:        PCIe
 +DMA Size:        47 bits
 +DMA Mask:        0x7fffffffffff
 +Bus Location:    0000:af:00.0
 +Device Minor:    1
 +GPU Firmware:    590.48.01
 +GPU Excluded:    No
 +</code>
 +
 +Il y a deux cartes avec des adresses PCI différentes :
 +  * GPU 0 → 0000:86:00.0
 +  * GPU 1 → 0000:af:00.0 
 +
 +  * lancer un benchmark PCIe / mémoire
 +
 +<code>
 +# nvidia-smi topo -m
 +        GPU0    GPU1    CPU Affinity    NUMA Affinity   GPU NUMA ID
 +GPU0          NODE    24-35,72-83                   N/A
 +GPU1    NODE          24-35,72-83                   N/A
 +
 +Legend:
 +
 +  X    = Self
 +  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
 +  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
 +  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
 +  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
 +  PIX  = Connection traversing at most a single PCIe bridge
 +  NV#  = Connection traversing a bonded set of # NVLinks
 + </code>
 +
 +<code>
 +# nvidia-smi -i 0
 +Mon Mar 30 14:49:26 2026       
 ++-----------------------------------------------------------------------------------------+
 +| NVIDIA-SMI 595.58.03              Driver Version: 595.58.03      CUDA Version: 13.2     |
 ++-----------------------------------------+------------------------+----------------------+
 +| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
 +| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
 +|                                                                |               MIG M. |
 +|=========================================+========================+======================|
 +|    Tesla T4                       Off |   00000000:86:00.0 Off |                    0 |
 +| N/A   62C    P0             27W /   70W |       0MiB /  15360MiB |      4%      Default |
 +|                                                                |                  N/A |
 ++-----------------------------------------+------------------------+----------------------+
 +
 ++-----------------------------------------------------------------------------------------+
 +| Processes:                                                                              |
 +|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
 +|        ID   ID                                                               Usage      |
 +|=========================================================================================|
 +|  No running processes found                                                             |
 ++-----------------------------------------------------------------------------------------+
 +</code>
 +
 +  * charger le GPU 0
 +
 +<code>
 +# nvidia-smi --query-gpu=utilization.gpu --format=csv --loop=1 -i 0
 +</code>
 +
 +  * charger le GPU 1
 +
 +<code>
 +# nvidia-smi --query-gpu=utilization.gpu --format=csv --loop=1 -i 1
 +</code>
 ===== Nvidia dans le Container LXC ===== ===== Nvidia dans le Container LXC =====
  
-  * Les conteneurs LXC n'ont pas besoin d'option particulière, ni besoin d'être privilégiés. Configurer Le passthrough (GPU passthrough) dans Proxmox pour les GPU des carte NVidia. +  * mettre à jour le conteneur 
- + 
 +<code> 
 +apt update & apt upgrade 
 +</code> 
 + 
 +  * Les conteneurs LXC n'ont pas besoin d'option particulière, ni besoin d'être privilégiés.  
 +  * Configurer Le passthrough (GPU passthrough) dans Proxmox pour les GPU des carte NVidia. 
 + 
 <WRAP center round info> <WRAP center round info>
 Le passthrough (ou PCI passthrough / USB passthrough / GPU passthrough) dans Proxmox permet de donner à un conteneur LXC, l'accès direct aux périphériques physiques (ici les GPU des cartes Nvidia) sans passer par la couche de virtualisation. Ces GPU de la Carte Nvidia sont retirés du contrôle de l’hôte Proxmox et attribués directement aux conteneurs LXC. Le passthrough (ou PCI passthrough / USB passthrough / GPU passthrough) dans Proxmox permet de donner à un conteneur LXC, l'accès direct aux périphériques physiques (ici les GPU des cartes Nvidia) sans passer par la couche de virtualisation. Ces GPU de la Carte Nvidia sont retirés du contrôle de l’hôte Proxmox et attribués directement aux conteneurs LXC.
 +</WRAP>
  
 +  * ajoutez au conteneur LXC les périphériques passthrough
 +
 +{{ :reseau:cloud:proxmox:ia_01.png |}}
 +{{ :reseau:cloud:proxmox:ia_02.png |}}
 +{{ :reseau:cloud:proxmox:ia_03.png |}}
 +
 +<WRAP center round info >
 +Ne plus installer le périphéirque **/dev/nvidia-modeset**
 </WRAP> </WRAP>
  
 +  * Installez les drivers nvidia et la suite logicielle **cuda** dans le conteneur LXC (procédure semblable à celle de l'hote Proxmox).
 +
 +<code>
 +wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
 +apt install ./cuda-keyring_1.1-1_all.deb
 +apt update
 +apt install cuda-toolkit
 +apt install nvidia-driver-cuda
 +</code>
 +
 +  * commande **nvdia-smi** pour confirmer que la carte est disponible et fonctionnelle sur votre container.
  
 +<code>
 +nvidia-smi
 +</code>
reseau/cloud/proxmox/lxcnvidia.1768400495.txt.gz · Dernière modification : 2026/01/14 15:21 de techer.charles_educ-valadon-limoges.fr