Si vous apprenez le machine learning ou le deep learning, vous utilisez peut-être Google Colab gratuitement. Mais vous vous demandez peut-être si la version gratuite est adéquate.

Si vous pouvez vous offrir une bonne carte graphique Nvidia (avec un nombre décent de cœurs CUDA), alors vous pouvez facilement utiliser votre carte graphique pour ce type de travail intensif.

Beaucoup de développeurs utilisent Linux pour cela. Mais je n'aime pas Linux en tant que système d'exploitation de bureau (ne vous offusquez pas, c'est ma préférence personnelle. Et oui, Linux est le meilleur pour tout ce qui concerne les serveurs).

De plus, si vous possédez la dernière GPU Nvidia, vous êtes probablement déjà familier avec les tracas concernant le pilote graphique, etc.

Pour toutes ces raisons, je pensais essayer quelque chose de différent : utiliser le nouveau système d'exploitation Windows 11 pour exploiter les cœurs CUDA de ma carte graphique.

J'ai suivi beaucoup de vidéos mais je n'ai pas réussi à l'implémenter après plusieurs tentatives, malheureusement. Il y avait un problème de compatibilité entre la dernière version de PyTorch et le noyau Windows 11 dans CUDA. Cependant, après beaucoup de recherches, j'ai découvert que WSL2 devrait fonctionner parfaitement.

Après avoir essayé pendant plus de quelques jours, j'ai réussi à configurer tout ce qui est nécessaire et je peux utiliser les cœurs CUDA de ma carte graphique sur ma machine Windows ! Une chose intéressante est que, dans ce processus, vous n'avez pas besoin de télécharger ou d'utiliser Microsoft Visual Studio 2022 et de télécharger d'énormes fichiers de 30/35 Go juste pour installer les compilateurs recommandés, etc.

Pour cette raison, j'ai écrit un manuel complet sur mon GitHub (voici le dépôt : CUDA-WSL2-Ubuntu, et voici le site web : fahimfba.github.io/CUDA-WSL2-Ubuntu).

J'écris également le même manuel ici. Alors, c'est parti ! 🎉

Spécifications de mon ordinateur

Pour ce guide, j'ai utilisé ma station de travail de bureau. Si vous êtes également intéressé par les spécifications actuelles que j'ai utilisées pour cette tâche, les voici :

  • Processeur : Ryzen 5 3500X 6 cœurs et 6 threads
  • RAM : 32 Go DDR4 3200 MHz (16 Go + 8 Go + 8 Go)
  • GPU : Zotac Nvidia GeForce RTX 3050 8 Go GDDR6
  • Carte mère : Gigabyte B450M Aorus Elite
  • Stockage : Gigabyte 240 Go SSD SATA
  • Moniteur : MSI Optix G24 Gaming Curved 75Hz

J'utiliserai Windows 11 Pro (Version 22H2) et WSL2 (bien sûr !).

Étape 1 : Assurez-vous d'avoir une connexion Internet et une alimentation électrique stables

Ce processus peut prendre beaucoup de temps. Assurez-vous donc d'être correctement connecté à Internet et d'avoir une alimentation électrique stable. Pour moi, cela a pris presque 7 heures au total. Vous devrez également télécharger certains packages assez volumineux en cours de route.

Assurez-vous également d'avoir installé le dernier pilote Nvidia après avoir téléchargé le pilote officiel depuis le site officiel de Nvidia. Assurez-vous d'avoir installé toutes les mises à jour de votre Windows 11.

Image mise à jour de Windows

Étape 2 : Télécharger la dernière version de PowerShell

J'utiliserai la dernière version de PowerShell. Vous pouvez la télécharger depuis le Microsoft Store, mais je la téléchargerai depuis le site officiel car le store peut créer des problèmes plus tard.

Allez sur le site officiel. Cela vous redirige normalement vers la dernière version de PowerShell disponible à ce moment-là. Pour moi, la dernière version est 7.3 (24 mai 2023). Pour vous, cela peut être une version mise à jour. Ne vous inquiétez pas pour cela. Téléchargez simplement la dernière version stable.

  1. Cliquez sur le bouton Download PowerShell.

Image Bouton de téléchargement de PowerShell

  1. Trouvez la dernière version de PowerShell pour win-x64.msi. Téléchargez celle-ci.

Image fichier msi de la dernière version de PowerShell

  1. Le processus d'installation est assez simple. Mais je vais vous guider tout au long du processus. Double-cliquez sur le fichier téléchargé. Ensuite, cliquez sur Suivant.

Image logiciel msi

  1. Gardez tout tel quel et cliquez sur Suivant.

Image Étape suivante

  1. Je préfère toujours garder tout tel quel et cliquer simplement sur Suivant.

Image Étape suivante

  1. Je préfère toujours garder tout tel quel et cliquer simplement sur Suivant.

Image Étape suivante

  1. Cliquez sur Installer.

Image Installer

  1. Maintenant, cliquez sur Terminer.

Image Terminer

Étape 3 : Vérifiez votre terminal Windows

J'aime vraiment le terminal Windows, car je peux simplement basculer vers n'importe quel autre système d'exploitation WSL (Ubuntu, Kali, Git Bash, etc.) quand je veux. Mais avant de continuer, je dois m'assurer que mon terminal Windows actuel est à jour.

  1. Ouvrez le Microsoft Store et recherchez Windows Terminal.

Image Terminal Windows sur Microsoft Store

  1. Cliquez sur Mettre à jour si une mise à jour est nécessaire.

  2. Assurez-vous que vous êtes déjà sur la dernière version mise à jour du terminal Windows.

  3. Maintenant, ouvrez le terminal Windows, car nous devons d'abord changer certains paramètres. Cliquez sur Ouvrir les paramètres.

Image Personnalisation des paramètres du terminal Windows

  1. Si vous ne voyez pas l'invite Ouvrir les paramètres, cliquez simplement sur la flèche déroulante, puis sur Paramètres.

Image Paramètres

  1. Dans Démarrage, assurez-vous que le profil par défaut est défini sur PowerShell (le nouveau PowerShell que nous avons installé à l'étape 2). L'application de terminal par défaut doit être définie sur Terminal Windows.

Image Configuration de démarrage par défaut

  1. Ensuite, cliquez sur Enregistrer et quittez le terminal.

Image Enregistrer

Étape 4 : Virtualisation matérielle

Pour utiliser WSL, nous devons nous assurer que la virtualisation de notre CPU est activée. Vous pouvez vérifier l'état via le gestionnaire de tâches. Si elle est désactivée, assurez-vous d'activer la virtualisation via le BIOS.

Vous trouverez beaucoup de vidéos YouTube à ce sujet, mais assurez-vous de suivre celle qui correspond à la marque et au modèle de votre carte mère.

Image Virtualisation

Étape 5 : Installer WSL et Ubuntu LTS

Maintenant, nous devons installer WSL2 et Ubuntu LTS.

  1. Ouvrez le terminal Windows en tant qu'administrateur.

Image Ouvrir le terminal en tant qu'administrateur

  1. Pour installer WSL, utilisez la commande wsl --install.

Image Installation de VMP

  1. Ensuite, il installera automatiquement la dernière version LTS d'Ubuntu.

Image Installation d'Ubuntu

  1. Après la fin des tâches, il vous demandera de redémarrer votre PC. Enregistrez votre travail et redémarrez simplement votre ordinateur.

Image Redémarrer le PC

  1. Après avoir redémarré le PC, il ouvrira automatiquement le terminal et vous demandera le nom d'utilisateur et le mot de passe pour votre système d'exploitation Linux.

Image Après avoir redémarré le PC

  1. Donnez le nom d'utilisateur et le mot de passe. Assurez-vous d'utiliser le même mot de passe dans le champ Retaper le mot de passe !

Image nom d'utilisateur et mot de passe

  1. Après un certain temps, il installera les composants nécessaires.

Image Ubuntu complet

  1. Maintenant, assurez-vous que WSL2 devient le WSL par défaut dans ce terminal. Appliquez la commande wsl --set-default-version 2.

Image WSL 2 par défaut

  1. Si vous souhaitez vérifier l'état des systèmes d'exploitation WSL (combien de systèmes d'exploitation sont disponibles, combien sont en cours d'exécution ou arrêtés), utilisez la commande wsl --list --verbose.

Image État des systèmes d'exploitation

Ici, il m'indique que j'ai Ubuntu installé sur ma version WSL 2 et qu'il est actuellement arrêté.

  1. Cependant, après avoir travaillé sur un système d'exploitation WSL, si vous souhaitez l'éteindre, vous pouvez utiliser la commande wsl -t nom_distro. Pour moi, c'est Ubuntu, donc j'ai utilisé wsl -t Ubuntu. t représente la commande de terminaison ici.

Image Commande de terminaison

  1. Si vous avez plusieurs systèmes d'exploitation dans WSL et que vous souhaitez exécuter une distribution spécifique, utilisez la commande wsl --distribution nom_distribution. Par exemple, si je veux exécuter spécifiquement Ubuntu, la commande serait wsl --distribution Ubuntu. Si vous n'avez qu'une seule distribution, vous n'avez pas nécessairement besoin de vous en soucier.

Image exécuter une distribution spécifique

  1. Vous pouvez simplement utiliser exit pour quitter une distribution depuis le terminal. Cela n'éteint pas nécessairement la distribution. Vous pouvez utiliser spécifiquement la commande de terminaison pour cela. Mais voici quelques commandes couramment utilisées.

Image commande couramment utilisée

  1. Après avoir installé une distribution, vous pourrez également la voir et y accéder en utilisant le menu déroulant du terminal Windows.

Image le menu déroulant pour les autres distributions

Étape 6 : Configurer Ubuntu LTS

Nous devons maintenant mettre à jour et installer quelques applications.

  1. Ouvrez Ubuntu en utilisant n'importe quelle méthode dans le terminal Windows. Vous pouvez évidemment utiliser l'application dédiée Ubuntu. Mais je préfère toujours le terminal car je peux utiliser plusieurs distributions différentes et applications en ligne de commande ici.

Image démarrer Ubuntu

  1. Mettez à jour le système en utilisant la commande sudo apt update.

Image mise à jour

  1. Si vous obtenez des erreurs lors de la mise à jour/mise à niveau indiquant qu'il ne peut pas atteindre le serveur, changez le serveur de noms avec la commande echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null.

  2. Après la mise à jour, mettez à niveau le système en utilisant sudo apt upgrade.

Image Mise à niveau

Image Mise à niveau du système

Vous pouvez effacer le terminal en utilisant la commande clear.

  1. CUDA fonctionne avec C. Nous devons donc installer le compilateur gcc en premier. Utilisez la commande sudo apt install gcc --fix-missing.

Image gcc

Image installation de gcc

Image fin de l'installation

Étape 7 : Installer CUDA

Il est maintenant temps d'installer CUDA depuis le site officiel de Nvidia.

Assurez-vous de sélectionner les éléments suivants :

  • Système d'exploitation : Linux
  • Architecture : x86_64
  • Distribution : WSL-Ubuntu
  • Version : 2.0
  • Type d'installateur : deb(local)

Image Nvidia - CUDA

Cela fournira les commandes nécessaires.

Image commandes CUDA

Votre tâche consiste maintenant à appliquer chaque commande en série dans le terminal Ubuntu WSL. Assurez-vous d'utiliser la première commande deux fois. Cela résout normalement le problème de keyring plus tard.

Gardez également à l'esprit que ces commandes peuvent changer plus tard. Suivez donc toujours le site officiel. Pour ce guide, j'utiliserai la commande exacte que j'ai utilisée pour configurer CUDA sur ma machine.

  1. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

Image 1ère commande

J'ai utilisé la même commande à nouveau après avoir terminé les transactions précédentes.

  1. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

Image 1ère commande

  1. sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

Image 2ème commande

  1. wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

Image 3ème commande

Cela prend normalement beaucoup de temps car il télécharge un gros fichier (taille de fichier supérieure à 2 Go).

Image gros fichier

  1. sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

Image 4ème commande

  1. sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/

Image 5ème commande

  1. Ensuite, mettez à jour le système en utilisant sudo apt-get update.

Image mise à jour du système

Image mise à jour

  1. sudo apt-get -y install cuda

Image installation de CUDA

Image fin de l'installation de CUDA

Étape 8 : Post-installation

Le guide d'installation officiel de CUDA de Nvidia nous indique d'ajouter export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}} à la variable PATH.

Image chemin

J'ai changé la version de CUDA cuda-12.1 selon la version de CUDA installée. Assurez-vous de faire de même pour votre version mise à jour de CUDA.

Faites ce qui suit pour cela :

  1. Ouvrez Ubuntu dans le terminal Windows.
  2. Allez dans le répertoire racine en utilisant cd ~. Ensuite, ouvrez le bashrc dans nano en utilisant nano .bashrc

Image racine

  1. Allez à la fin du fichier et copiez-collez le chemin là. Pour moi, le chemin est export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}.

Image chemin

Ensuite, utilisez Ctrl + X pour fermer. Assurez-vous d'utiliser Y pour enregistrer dans le même fichier.

  1. Pour appliquer les changements, utilisez source ~/.bashrc. Vous pouvez vérifier le chemin en utilisant echo $PATH.

Image vérification du chemin

Étape 9 : Nvidia CUDA Toolkit

Installez le Nvidia Cuda Toolkit en utilisant sudo apt install nvidia-cuda-toolkit.

Image toolkit 1

Image toolkit 2

Vous pouvez vérifier les versions du pilote et de CUDA en utilisant nvidia-smi.

Image smi

Assurez-vous également de vérifier si le pilote du compilateur Nvidia Cuda a été installé ou non en utilisant nvcc -V.

Image nvcc

Étape 9 : Confirmez que Python est installé

Maintenant, assurez-vous que Python 3 est installé sur votre système. Vous pouvez vérifier la version en utilisant python3 --version. Si cela indique que "python3 est introuvable" ou quelque chose de similaire, installez Python.

Installez PIP en utilisant sudo apt-get install python3-pip.

Image installation de pip

Étape 10 : Installer PyTorch

Pour installer PyTorch, allez sur le site officiel de PyTorch. Ensuite, assurez-vous de sélectionner les sections pertinentes. Après cela, il vous fournira une commande. Vous devez utiliser la commande dans votre terminal Ubuntu.

Pour moi, les sélections étaient :

  • Version de PyTorch : Stable (2.0.1) - Assurez-vous de toujours sélectionner la dernière version stable
  • Votre OS : Linux
  • Package : Pip
  • Langage : Python
  • Plateforme informatique : CUDA 11.8 - Assurez-vous de sélectionner la dernière version disponible de CUDA

Après cela, j'ai obtenu la commande pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118.

Image commande PyTorch

J'ai simplement utilisé cette commande exacte dans mon terminal Ubuntu.

Image commande PyTorch

Il télécharge également un gros fichier qui peut prendre beaucoup de temps si vous avez une connexion Internet plus lente comme moi !

Image téléchargement de PyTorch

Étape 11 : Disponibilité de CUDA

Vous pouvez vérifier directement si CUDA a été installé ou non en exécutant deux lignes de code Python dans le terminal.

  • Exécutez Python dans le terminal en utilisant python3.
  • Importez torch en utilisant import torch.
  • Vérifiez la disponibilité de CUDA en utilisant torch.cuda.is_available().

Si cela retourne True, alors vous avez réussi à installer CUDA sur votre système !

Image cuda oui

Étape 12 : Paramètres du développeur Nvidia

Vous devez activer les paramètres du développeur Nvidia pour utiliser CUDA via WSL. Suivez simplement ce processus :

  1. Ouvrez le Panneau de configuration Nvidia.

Image panneau de configuration Nvidia

  1. Cliquez sur "Accepter et continuer".

Image accepter

  1. Dans le Panneau de configuration Nvidia, cliquez sur Bureau > Activer les paramètres du développeur. Si "Activer les paramètres du développeur" n'a pas de coche, cliquez dessus pour activer cette fonctionnalité.

Image pas de coche

Image coche

  1. La section Développeur sera visible. Cliquez sur Gérer les compteurs de performance du GPU.

Image compteurs GPU

  1. Cochez le bouton radio sur "Autoriser l'accès aux compteurs de performance du GPU à tous les utilisateurs".

Image coche

  1. Cliquez sur "Appliquer" et "Oui" pour approuver les changements de manière permanente.

Image approuver les changements

  1. À la fin, cela devrait ressembler à ceci.

Image final

  1. Vous pouvez à nouveau vérifier la disponibilité de CUDA comme précédemment.

Image disponibilité de CUDA

Étape 12 : Installer Jupyter Notebook

Je préfère généralement Jupyter Notebook. Vous pouvez l'installer de diverses manières, comme pip install notebook.

Image notebook 1

Image notebook 2

Mais je préfère la commande pip install jupyter notebook.

Image jupyter notebook

Pour ouvrir un Jupyter Notebook, vous pouvez simplement utiliser jupyter notebook dans le terminal.

Image notebook cli

Le notebook s'ouvrira instantanément et vous pourrez utiliser l'URL donnée pour l'ouvrir dans votre navigateur web :

Image ouvrir le notebook dans le navigateur

Étape 13 : Exécuter quelques tests

J'ai exécuté deux codes pour vérifier les performances de mon CUDA.

  1. Ouvrez un script Python3 dans le notebook.

Image ouvrir le script

  1. J'ai utilisé le code suivant pour vérifier s'il utilise mon CPU ou CUDA de mon GPU :
import torch

if torch.cuda.is_available():
    device = torch.device("cuda")
else:
    device = torch.device("cpu")
print("using", device, "device")

Image cuda

  1. Pour la comparaison de performance entre mon CPU et mon GPU (CUDA), j'ai utilisé le code suivant :
import time

matrix_size = 32*512

x = torch.randn(matrix_size, matrix_size)
y = torch.randn(matrix_size, matrix_size)

print("************* VITESSE CPU *******************")
start = time.time()
result = torch.matmul(x, y)
print(time.time() - start)
print("vérifier l'appareil:", result.device)

x_gpu = x.to(device)
y_gpu = y.to(device)
torch.cuda.synchronize()

for i in range(3):
    print("************* VITESSE GPU *******************")
    start = time.time()
    result_gpu = torch.matmul(x_gpu, y_gpu)
    torch.cuda.synchronize()
    print(time.time() - start)
    print("vérifier l'appareil:", result_gpu.device)

Image CPU vs GPU

J'ai également fait des comparaisons côte à côte entre Google Colab et mon ordinateur. Vous pouvez les vérifier également.

EssaiGoogle ColabMon ordinateur
1Google ColabMon PC
2Google ColabMon PC

Le résultat indique déjà que mon PC fonctionne mieux que Google Colab.

Étape 14 : Supprimer le fichier CUDA Deb

Si vous pensez ne plus avoir besoin du fichier deb CUDA, vous pouvez le supprimer en utilisant la commande suivante :

rm filename

Pour moi, c'était ceci :

rm cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

Cela ne supprime pas CUDA de votre système. Cela supprime simplement le fichier deb de votre système.

Image supprimer deb

Conclusion

J'espère que vous avez réussi à installer CUDA sur votre système Windows 11 en utilisant WSL2. Si vous avez des questions, n'hésitez pas à me contacter via Twitter ou LinkedIn.

Assurez-vous également de me suivre sur GitHub et de mettre une étoile (🔊) au dépôt !

Vous pouvez également vous abonner à ma chaîne YouTube pour plus de contenu vidéo utile.

Si vous êtes intéressé, vous pouvez également consulter mon site web : https://fahimbinamin.com/

Merci d'avoir lu l'article entier jusqu'à présent. Passez une excellente journée ! 😊

Image de couverture : Photo de Arseny Togulev sur Unsplash