Dies ist die n-te Abkochung, aber es ist ein Artikel, der von Docker mit WSL2 GPU-anerkannt wurde, als ich einen PC mit Windows-Betriebssystem kaufte. Da es einen Unterschied zum vorhandenen technischen Artikel gab, habe ich einen neuen Artikel erstellt.
Zuerst werde ich eine Zusammenfassung schreiben. Was zu tun ist
--Schritt 1: Windows-Update --Schritt 2: Installieren Sie WSL2 --Schritt ③: Installieren Sie Ubuntu --Schritt ④: Installieren Sie den Cuda-Treiber für WSL (nicht für Linux). --Schritt ⑤: Docker-Installation unter WSL2 Ubuntu --Schritt ⑥: Installieren Sie CudaToolKit unter Ubuntu mit WSL2 --Schritt ⑦: Bestätigen Sie die GPU-Erkennung
ist.
Die Teile, die sich von den vorhandenen Artikeln unterscheiden, sind ① und ⑥. Wenn dies nicht funktioniert, behandeln Sie bitte nur diese Teile.
So lassen Sie die WSL die GPU erkennen Versionshinweise zum Windows-Subsystemkern für Linux Es ist in beschrieben
Sie müssen auf die Version von aktualisieren. In vielen technischen Artikeln heißt es, dass Windows Insider Preview Fast ausgewählt und aktualisiert werden sollte. Beachten Sie jedoch, dass am 15. Juni 2020 das Kanalsystem Dev / Beta / Release Preview von Windows Insider erneuert wird. Bitte.
Es ist in diesem Artikel geschrieben [GPU mit WSL 2 verwenden (CUDA-, PyTorch- und TensorFlow 2.2-GPU-Version unter WSL 2 Ubuntu ausführen. Docker nicht verwenden, Windows 10 Insider-Programm verwenden, Ubuntu unter WSL 2)](https: // www .kkaneko.jp / tools / wsl / wsl_tensorflow2.html) Update nach Methode, aber nicht schnell Wählen Sie einen Dev-Kanal und aktualisieren Sie. Ich denke, es wird eine Weile dauern.
In vielen technischen Artikeln wird auch beschrieben, wie nach der Installation von WSL aktualisiert wird. Ab dem 29. August 2020 sind jedoch die Befehle wsl --update
und wsl.exe --update
vorhanden. Andernfalls tritt zur Laufzeit ein Fehler auf. Aktualisieren Sie daher Windows selbst.
↓ Die in diesen Artikeln beschriebenen Befehle wsl --update
und wsl.exe --update
sind nicht vorhanden, daher müssen Sie zuerst das Hauptgerät aktualisieren.
Es scheint, dass Sie endlich WSL2 + Docker + GPU ausführen können, also werde ich es versuchen
[GPU mit WSL 2 verwenden (CUDA-, PyTorch- und TensorFlow 2.2-GPU-Version unter WSL 2 Ubuntu ausführen. Docker nicht verwenden, Windows 10 Insider-Programm verwenden, Ubuntu unter WSL 2)](https: // www .kkaneko.jp / tools / wsl / wsl_tensorflow2.html)
Ich habe auf diesen Artikel verwiesen.
Warten auf CUDA auf WSL2
Ich habe CudaToolKit in Schritt ⑥ unter Ubuntu von WSL2 installiert, aber den Befehl sudo apt-get install -y cuda-toolkit-11-0
eingegeben, aber es wurde gesagt, dass es nicht existiert (August 2020). Ab dem 29. März) konnte ich es mit "sudo apt-get install -y cuda-toolkit" installieren. Ich bin auch hier misstrauisch. Wenn es nicht funktioniert, lesen Sie bitte andere technische Artikel.
Der technische Artikel von Warten auf CUDA auf WSL2 ist im Grunde der offizielle NVIDIA-Artikel [CUDA auf WSL-Benutzerhandbuch](https: // docs). Es handelt sich um eine japanische Übersetzung von .nvidia.com / cuda / wsl-user-guide / index.html. Wenn der Referenzartikel nicht funktioniert, wenden Sie sich bitte auch an den Beamten.
Sie können es unter Ubuntu mit diesem Befehl überprüfen.
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Sie können sehen, dass GeForce erkannt wird.
Die Details von Docker werden hier nicht beschrieben, aber sobald Sie bis zu ⑦ abgeschlossen haben, können Sie TensorFlow in der GPU-Umgebung ausführen. Daher werde ich auch beschreiben, wie dies gemacht wird.
Erstellen Sie zunächst ein Verzeichnis unter Ubuntu für die Anwendung.
mkdir test
cd test
Verwenden Sie daher das neueste gpu-py3-jupyter-Tag des Tensorflow / Tensorflow-Bildes.
docker run --rm --gpus all --privileged -it -p 8888:8888 -v "$PWD":/tf/notebook tensorflow/tensorflow:latest-gpu-py3-jupyter
Obwohl es sich nicht um einen Docker-Artikel handelt, wird dieser -v" $ PWD ": / tf / notebook
-Teil als Bind-Mount bezeichnet, wenn Sie den Befehl kurz erläutern, und das Verzeichnis und der Container werden verknüpft. Daher werden die im Container erstellten Dateien in diesem aktuellen Verzeichnis, hier dem Testverzeichnis, gespeichert.
Greifen Sie dann über Port 8888 auf den Browser zu. Geben Sie "http: // localhost: 8888" in die URL Ihres Browsers ein. Sie werden nach einem Passwort gefragt, geben Sie also das Token ein. Wenn Sie Docker ausführen, wird das Token auch auf dem Bildschirm angezeigt. Kopieren Sie es daher.
Stellen Sie außerdem sicher, dass Sie die GPU wirklich erkennen. Erstellen Sie ein Notizbuch und geben Sie den folgenden Befehl ein.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Ich konnte bestätigen, dass die GPU erkannt wurde.
Es handelt sich um eine erstellte Datei, Sie können jedoch bestätigen, dass die Datei im Testverzeichnis auf der Hostseite erstellt wurde. In diesem Fall überprüfen Sie es mit einem anderen Ubuntu-Fenster oder Explorer.
Die GPU kann wie Linux auch unter Windows verwendet werden. Persönlich denke ich, dass Linux in Ordnung ist.
Mein PC ist Pro, nicht Home. Darüber hinaus ist die Version, bei der die GPU erkannt werden kann, die folgende Version.
Recommended Posts