CUDA® in WSL
Die Nutzung von Anwendungskontainerisierung hat sich zu einem bevorzugten Ansatz für das Workload-Management entwickelt. Obwohl typische Anwendungen einfach zu packen und zu betreiben sind, erfordern Anwendungen, die GPUs nutzen, aufgrund der zusätzlichen Abstraktionsschicht besondere Berücksichtigung: WSL (Windows-Subsystem für Linux). Microsoft hat diesen Linux-Kernel speziell entwickelt, um eng mit dem Windows-Server zu integrieren und einen nahtlosen Anwendungsbetrieb auf beiden Systemen zu gewährleisten.
Eine häufig gestellte Frage ist die korrekte Reihenfolge der Installation der erforderlichen Treiber und Bibliotheken, die GPU-Computing-Funktionen ermöglichen. Um Ihnen Zeit zu sparen und diesen Prozess zu erleichtern, haben wir diese Schritt-für-Schritt-Anleitung vorbereitet.
Die geeignete Reihenfolge ist, WSL und Linux innerhalb des WSL zu installieren. Anschließend installieren Sie die GPU-Treiber für den Windows Server und das NVIDIA® CUDA® Toolkit in Linux. Falls gewünscht, kann Docker Desktop anschließend hinzugefügt werden, um Container auszuführen, die für die Nutzung von GPUs aktiviert sind.
Stellen Sie vor dem Fortfahren sicher, dass alle notwendigen Updates auf Ihrem System installiert sind.
Installieren Sie WSL und Ubuntu
Um zu beginnen, wählen Sie Start > PowerShell und führen Sie es mit administrativen Privilegien aus. Der folgende Befehl aktiviert WSL:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Sobald der Installationsprozess abgeschlossen ist, sollten Sie das Betriebssystem wie gewohnt neu starten und PowerShell erneut öffnen. Lassen Sie uns den WSL-Kernel aktualisieren:
wsl --update
Und installieren Sie die notwendige Linux-Distribution, zum Beispiel Ubuntu 22.04 LTS:
wsl --install -d Ubuntu-22.04
Die neue Ubuntu 22.04-Anwendung wird im Startmenü sichtbar sein. Wenn Sie darauf klicken, wird das System ein Terminalfenster bereitstellen, das eine Instanz von Linux Ubuntu ausführt. Sie müssen den Cache aktualisieren und alle verfügbaren Pakete auf die neuesten Versionen aktualisieren:
sudo apt update && sudo apt -y upgrade
Der nächste Schritt ist die Installation des Python-Paket-Managers und des NVIDIA® CUDA® Toolkit. Es ist wichtig zu bedenken, dass es nicht notwendig ist, GPU-Treiber in diesen Linux-Kernel zu installieren:
sudo apt -y install python3-pip nvidia-cuda-toolkit
Um sicherzustellen, dass alle Skripte im NVIDIA® CUDA® Toolkit ordnungsgemäß funktionieren, ist es notwendig, ihren Pfad in der $PATH-Variablen vorab zu definieren. Sie können dies erreichen, indem Sie die folgende Datei öffnen:
nano ~/.bashrc
Und fügen Sie am Ende folgende Zeichenfolge an:
export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}
Speichern Sie die Datei und verlassen Sie das Ubuntu-Terminal.
Installieren Sie Nvidia-Treiber
Bitte folgen Sie unseren Anweisungen in diesem Artikel: Installieren Sie Nvidia-Treiber in Windows. Das Ergebnis sieht folgendermaßen aus:

Installieren Sie PyTorch
Öffnen Sie das Ubuntu 22.04-Terminal und geben Sie den folgenden Befehl ein, um PyTorch mit CUDA-Unterstützung zu installieren:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Testen Sie in Python
Geben Sie in die Python’s interaktive Konsole ein:
python3
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Geben Sie "help", "copyright", "credits" oder "license" für weitere Informationen ein.
Und geben Sie diese Befehle nacheinander ein:
import torch
torch.cuda.device_count()
5
torch.cuda.is_available()
True
Der erste Befehl importiert das PyTorch-Framework. Der zweite Befehl zeigt die Anzahl der CUDA-kompatiblen Geräte in einem System an. Der dritte Befehl zeigt die Verfügbarkeit der Nutzung von CUDA® an.
Testen Sie in Docker
Beginnen Sie mit der Installation von Docker Desktop. Der Installer kann hier gefunden werden. Starten Sie den Server neu und starten Sie Docker Desktop. Diese Aktion startet die Docker Engine. Öffnen Sie dann Ubuntu 22.04 Konsole aus dem Start Menü und geben Sie den folgenden Befehl ein:
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark -numdevices=5
wo -numdevices die Anzahl der installierten GPUs ist. Für dieses Beispiel testen wir auf einem dedizierten Server mit 5 GPUs.
Wenn Sie einen Fehler erhalten “Fehler: nur 0 Geräte verfügbar, 5 angefordert. Beenden.” bleiben Sie ruhig. Dies ist ein Nvidia-Fehler und Sie können ihn leicht beheben, indem Sie jede GPU im Geräte-Manager erneut aktivieren. Klicken Sie mit der rechten Maustaste auf ein Start Menü und wählen Sie Geräte-Manager. Erweitern Sie die Liste Anzeigeadapter, wählen Sie jede GPU aus und deaktivieren Sie sie über das Aktion Menü. Danach Aktivieren Sie jede GPU auf die gleiche Weise. Jetzt sollte dieser Befehl perfekt funktionieren:

Fazit
Mit dieser Methode können Sie fast jede Anwendung starten, allerdings können je nach Systemspezifikationen einige Einschränkungen bestehen. Trotz dieser Einschränkungen, ist die Bereitstellung in der Regel nahtlos und Sie können alle Vorteile genießen, die Linux bietet, jedoch innerhalb einer Windows Server-Umgebung.
Siehe auch:
Aktualisiert: 28.03.2025
Veröffentlicht: 28.06.2024