C'est la nième décoction, mais c'est un article qui a été rendu GPU reconnu par Docker avec WSL2 lorsque j'ai acheté un PC avec Windows OS. Il y avait une différence avec l'article technique existant, j'ai donc créé un nouvel article.
Tout d'abord, j'écrirai un résumé. Quant à quoi faire
est.
Les pièces qui diffèrent des articles existants sont ① et ⑥, donc si les choses tournent mal, veuillez ne traiter que ces pièces.
Comment faire en sorte que WSL reconnaisse le GPU Notes de version du noyau du sous-système Windows pour Linux Il est décrit dans
Vous devez mettre à jour vers la version de. De nombreux articles techniques disent que Windows Insider Preview Fast devrait être sélectionné et mis à jour, mais sachez que le 15 juin 2020, le système de canaux de renouvellement de Windows Insider, Dev / Beta / Release Preview. S'il vous plaît.
Il est écrit dans cet article [Utilisez le GPU avec WSL 2 (exécutez la version GPU CUDA, PyTorch et TensorFlow 2.2 sur WSL 2 Ubuntu. N'utilisez pas Docker, utilisez Windows 10 Insider Program, Ubuntu sur WSL 2)](https: // www .kkaneko.jp / tools / wsl / wsl_tensorflow2.html) Mise à jour par méthode, mais pas rapide Sélectionnez un canal de développement et mettez à jour. Je pense que cela prendra du temps.
De plus, de nombreux articles techniques décrivent comment mettre à jour après l'installation de WSL, mais depuis le 29 août 2020, les commandes wsl --update
et wsl.exe --update
existent. Sinon, une erreur se produira lors de l'exécution, veuillez donc mettre à jour Windows lui-même.
↓ Les commandes wsl --update
et wsl.exe --update
décrites dans ces articles n'existent pas, vous devez donc d'abord mettre à jour l'unité principale.
Il semble que vous puissiez enfin exécuter WSL2 + docker + GPU, donc je vais l'essayer
[Utilisez le GPU avec WSL 2 (exécutez la version GPU CUDA, PyTorch et TensorFlow 2.2 sur WSL 2 Ubuntu. N'utilisez pas Docker, utilisez Windows 10 Insider Program, Ubuntu sur WSL 2)](https: // www .kkaneko.jp / tools / wsl / wsl_tensorflow2.html)
J'ai fait référence à cet article.
En attente de CUDA sur WSL2
Cependant, j'ai installé CudaToolKit sur Ubuntu de WSL2 à l'étape ⑥, mais j'ai entré la commande sudo apt-get install -y cuda-toolkit-11-0
, mais il a été dit qu'elle n'existe pas (août 2020). Depuis le 29 mars), j'ai pu l'installer en faisant sudo apt-get install -y cuda-toolkit
. Je me méfie également ici, donc si cela ne fonctionne pas, veuillez vous référer à d'autres articles techniques.
L'article technique de Waiting CUDA on WSL2 est essentiellement l'article officiel de NVIDIA [CUDA on WSL User Guide](https: // docs) Il s'agit d'une traduction japonaise de .nvidia.com / cuda / wsl-user-guide / index.html), donc si l'article de référence ne fonctionne pas, veuillez également vous référer au responsable.
Vous pouvez le vérifier sur Ubuntu avec cette commande.
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Vous pouvez voir que GeForce est reconnu.
Les détails de Docker ne sont pas décrits ici, mais dès que vous avez terminé jusqu'à ⑦, vous pouvez exécuter TensorFlow dans l'environnement GPU, je décrirai donc également comment le faire.
Tout d'abord, créez un répertoire sur Ubuntu pour l'application.
mkdir test
cd test
Par conséquent, utilisez la balise latest-gpu-py3-jupyter de l'image tensorflow / tensorflow.
docker run --rm --gpus all --privileged -it -p 8888:8888 -v "$PWD":/tf/notebook tensorflow/tensorflow:latest-gpu-py3-jupyter
Bien que ce ne soit pas un article Docker, si vous expliquez brièvement la commande, cette partie -v" $ PWD ": / tf / notebook
est appelée un montage de liaison, et le répertoire et le conteneur sont liés. Les fichiers créés dans le conteneur seront donc enregistrés dans ce répertoire courant, ici le répertoire de test.
Accédez ensuite au navigateur sur le port 8888. Entrez http: // localhost: 8888
dans l'URL de votre navigateur. Un mot de passe vous sera demandé, alors entrez le jeton. Lorsque vous exécutez docker, le jeton est également affiché à l'écran, alors copiez-le.
Assurez-vous également de bien reconnaître le GPU. Créez un cahier et entrez la commande suivante.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
J'ai pu confirmer que le GPU était reconnu.
Il s'agit d'un fichier créé, mais vous pouvez confirmer que le fichier est créé dans le répertoire de test du côté hôte. Dans ce cas, vérifiez-le avec une autre fenêtre ou un autre explorateur Ubuntu.
Le GPU pourrait être utilisé comme Linux même dans le système d'exploitation Windows. Personnellement, je pense que Linux va bien.
Mon PC est Pro, pas à la maison. De plus, la version à laquelle le GPU peut être reconnu est la version suivante.
Recommended Posts