🛠 Configuration d'un GPU externe via OCuLink
Objectifs
Ce tutoriel explique comment exploiter le connecteur OCuLink du Xerxes Nano pour brancher un accélérateur PCIe externe (GPU ou NPU). Cette interface permet de dépasser les limites de calcul du module Jetson Orin Nano ou Turing RK1 intégré, offrant une bande passante PCIe élevée pour l'inférence IA lourde ou l'entraînement. Nous verrons la configuration matérielle, l'alimentation nécessaire et la détection logicielle sous Linux.
Matériel nécessaire
- Carte porteuse Xerxes Nano avec module Jetson Orin Nano ou Turing RK1 installé
- Câble OCuLink compatible (généralement SFF-8612 à 4 lignes PCIe)
- Châssis ou boîtier eGPU compatible OCuLink avec alimentation dédiée (12V/19V)
- GPU externe ou accélérateur PCIe (ex: NVIDIA RTX série 30/40, Intel Arc, etc.)
- Alimentation électrique stable pour le châssis eGPU
- Station de travail avec accès terminal (SSH ou écran/clavier)
- Système d'exploitation Linux (Ubuntu 20.04/22.04 recommandé pour Jetson)
Étapes
- Vérification de la compatibilité : Assurez-vous que votre GPU externe est bien un périphérique PCIe standard. Le Xerxes Nano utilise l'interface PCIe Gen 3 via OCuLink. Consultez les spécifications de votre châssis eGPU pour confirmer la compatibilité électrique et mécanique.
- Connexion physique : Éteignez complètement le Xerxes Nano. Branchez le câble OCuLink sur le port dédié de la carte porteuse. Connectez l'autre extrémité au châssis eGPU. Assurez-vous que le châssis est correctement ventilé, car les GPU externes génèrent une chaleur importante.
- Alimentation du châssis : Branchez le bloc d'alimentation du châssis eGPU sur une prise secteur. N'allumez pas encore le Xerxes Nano. L'ordre d'allumage est crucial : allumez d'abord le châssis eGPU, attendez que ses ventilateurs tournent, puis allumez le Xerxes Nano.
- Détection système : Une fois le système démarré, ouvrez un terminal. Vérifiez que le bus PCIe voit le nouveau périphérique avec la commande suivante :
lspci | grep -i nvidia
# ou pour un autre vendor
lspci | grep -i vga
Si le GPU est détecté, vous verrez une ligne indiquant le modèle du GPU connecté.
- Installation des pilotes : Pour les GPU NVIDIA, installez les pilotes propriétaires adaptés à votre architecture (ARM64 pour Jetson). Évitez les pilotes génériques x86_64.
sudo apt update
sudo apt install nvidia-driver-535
Redémarrez ensuite le système pour charger les modules noyau.
- Vérification de l'accélération : Utilisez l'utilitaire de monitoring pour confirmer que le GPU est actif et reconnu par le système.
nvidia-smi
Vous devez voir les informations du GPU externe, y compris l'utilisation de la mémoire et du processeur graphique.
Vérification
Pour valider le fonctionnement, lancez une charge de travail simple utilisant le GPU externe. Par exemple, exécutez un benchmark de calcul matriciel ou lancez un modèle d'IA simple via PyTorch en forçant l'utilisation du nouveau périphérique.
python3 -c "import torch; print(torch.cuda.is_available())"
Si la sortie est True, le GPU externe est correctement intégré. Vérifiez également les températures via nvidia-smi pour assurer un refroidissement adéquat.
Pour aller plus loin
Explorez la gestion de l'énergie via le connecteur PWM du Xerxes Nano pour synchroniser la ventilation avec la charge du GPU. Vous pouvez également configurer CUDA pour utiliser simultanément le GPU intégré (iGPU) du Jetson et le GPU externe (eGPU) grâce à la technologie NVIDIA Multi-GPU, optimisant ainsi les tâches d'inférence parallèles.
Autres tutoriels pour cette carte
- Configuration réseau et stockage sur Xerxes Nano
- Premier branchement et mise en route du Xerxes Nano
- Configurer les entrées-sorties GPIO sur Xerxes Nano
- Déployer un nœud de stockage et réseau haute vitesse
- Première mise en route du Xerxes Nano
- Déploiement d'un nœud Edge AI haute performance sur Xerxes Nano