Leçon 3 : Variables d'environnement et LD_LIBRARY_PATH
Les variables d'environnement sont la façon dont Linux transmet des paramètres de configuration aux programmes en cours d'exécution. CUDA ne trouvera pas libcuda.so sans un LD_LIBRARY_PATH correct, et CUDA_VISIBLE_DEVICES détermine quels GPUs chaque programme voit — un outil critique de planificatio
Les variables d'environnement sont comme un panneau d'affichage devant chaque pièce : le noyau y affiche des instructions comme « rechercher les bibliothèques dans /usr/local/cuda/lib64 » et « utiliser uniquement les GPUs 0 et 1 ». Chaque processus lit le panneau avant de commencer à s'exécuter.
- Variable d'environnement
- Une paire clé-valeur que le noyau transmet à chaque processus. Un processus peut lire, définir et transmettre des variables d'environnement à ses processus enfants.
- PATH
- Une variable d'environnement contenant une liste de répertoires séparés par des deux-points. Quand tu tapes une commande, le shell recherche le binaire dans chaque répertoire dans l'ordre.
- LD_LIBRARY_PATH
- Une variable définissant les répertoires dans lesquels rechercher les bibliothèques partagées (.so) à l'exécution. Le lieur dynamique (ld.so) recherche dans ces répertoires avant /usr/lib.
- CUDA_VISIBLE_DEVICES
- Une variable définissant quelles cartes GPU sont visibles pour un processus CUDA. CUDA_VISIBLE_DEVICES=0,1 cache les GPUs 2,3 du processus — essentiel pour la planification dans les environnements multi-GPU.
- export
- Une commande bash qui marque une variable comme variable d'environnement afin qu'elle soit transmise aux processus enfants. Sans export, la variable est visible uniquement pour le processus shell actuel.