CUDA® dans WSL
L'utilisation de la conteneurisation des applications est devenue une approche privilégiée pour la gestion des charges de travail. Bien que les applications typiques soient faciles à emballer et à utiliser, les applications utilisant les GPU nécessitent une considération particulière en raison de la couche d'abstraction supplémentaire : WSL (Windows Subsystem for Linux). Microsoft a conçu sur mesure ce noyau Linux pour s'intégrer étroitement avec le serveur Windows, assurant ainsi un fonctionnement transparent des applications sur les deux systèmes.
Une question courante est de connaître la séquence correcte pour installer les pilotes et les librairies nécessaires pour activer les fonctionnalités de calcul GPU. Pour vous faire gagner du temps et faciliter ce processus, nous avons préparé ce guide étape par étape.
La séquence appropriée est d'installer d'abord WSL et Linux dans le WSL. Ensuite, installez les pilotes GPU pour le serveur Windows et le NVIDIA® CUDA® Toolkit sous Linux. Si vous le souhaitez, Docker Desktop peut être ajouté par la suite pour exécuter tous les conteneurs compatibles GPU.
Avant de commencer, assurez-vous que toutes les mises à jour nécessaires sont installées sur votre système.
Installer WSL et Ubuntu
Pour commencer, sélectionnez Start > PowerShell et exécutez-le avec des privilèges administratifs. La commande suivante permet d'activer WSL :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Une fois le processus d'installation terminé, vous devrez redémarrer le système d'exploitation comme d'habitude et rouvrir PowerShell. Mettons à jour le noyau WSL :
wsl --update
Et installez la distribution Linux nécessaire, par exemple Ubuntu 22.04 LTS :
wsl --install -d Ubuntu-22.04
La nouvelle application Ubuntu 22.04 sera visible dans le menu Démarrer. En cliquant dessus, le système fournira une fenêtre de terminal exécutant une instance de Linux Ubuntu. Vous devez mettre à jour le cache et mettre à niveau tous les paquets disponibles vers les dernières versions :
sudo apt update && sudo apt -y upgrade
La prochaine étape est l'installation du gestionnaire de packages de Python et du NVIDIA® CUDA® Toolkit. Il est important de se rappeler qu'il n'est pas nécessaire d'installer les pilotes GPU dans ce noyau Linux :
sudo apt -y install python3-pip nvidia-cuda-toolkit
Pour assurer le bon fonctionnement de tous les scripts inclus dans le NVIDIA® CUDA® Toolkit, il est nécessaire de définir leur chemin dans la variable $PATH. Vous pouvez y parvenir en ouvrant le fichier suivant :
nano ~/.bashrc
Et ajoutez la ligne suivante à la fin :
export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}
Enregistrez le fichier et quittez le terminal Ubuntu.
Installer les pilotes NVIDIA®
Merci de suivre nos instructions dans cet article : Installer des pilotes NVIDIA® sous Windows. Le résultat apparaîtra comme suit :

Installer PyTorch
Ouvrez le terminal Ubuntu 22.04 et tapez la commande suivante pour installer PyTorch avec le support CUDA® :
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Tester en Python
Entrez dans la console interactive de Python :
python3
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information.
Et tapez ces commandes séquentiellement :
import torch
torch.cuda.device_count()
5
torch.cuda.is_available()
True
La première commande importe le framework PyTorch. La deuxième commande affiche le nombre de périphériques compatibles CUDA® dans un système. La troisième commande indique la disponibilité d'utilisation de CUDA®.
Tester en Docker
Commencez par installer Docker Desktop. L'installateur peut être trouvé ici. Redémarrez le serveur et exécutez Docker Desktop. Cette action démarre le moteur Docker. Ensuite, ouvrez la console Ubuntu 22.04 à partir du menu Démarrer et tapez la commande suivante :
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark -numdevices=5
où -numdevices est le nombre de GPU installés. Pour cet exemple, nous testons sur un serveur dédié avec 5 GPU.
Si vous obtenez une erreur “Erreur : seulement 0 appareils disponibles, 5 demandés. Sortie.” restez calme. C'est un bug NVIDIA® et vous pouvez facilement le résoudre en réactivant chaque GPU dans le gestionnaire de périphériques. Faites un clic droit sur le menu Démarrer et sélectionnez Gestionnaire de périphériques. Développez la liste des adaptateurs d'affichage, sélectionnez chaque GPU et désactivez-le à partir du menu Action. Ensuite, activez chaque GPU de la même manière. Maintenant, cette commande fonctionnera parfaitement :

Conclusion
Cette méthode vous permet de lancer presque n'importe quelle application, bien qu'il puisse y avoir certaines limitations en fonction des spécifications du système. Malgré ces limitations, le déploiement est généralement sans problème et vous pouvez profiter de tous les avantages que Linux offre, mais dans un environnement de serveur Windows.
Voir aussi :
Mis à jour: 28.03.2025
Publié: 28.06.2024