CUDA® en WSL
Het gebruik van applicatiecontainers is een populaire aanpak geworden voor het beheer van werklasten. Hoewel typische toepassingen eenvoudig te verpakken en te gebruiken zijn, vereisen toepassingen die gebruik maken van GPU's speciale aandacht vanwege de extra abstractielaag: WSL (Windows Subsystem for Linux). Microsoft heeft deze Linux kernel op maat ontworpen om nauw te integreren met de Windows Server, zodat toepassingen naadloos werken op beide systemen.
Een veel voorkomende vraag is de juiste volgorde voor het installeren van de benodigde stuurprogramma's en bibliotheken die functies voor GPU computing mogelijk maken. Om je tijd te besparen en dit proces te vergemakkelijken, hebben we deze stap-voor-stap handleiding opgesteld.
De juiste volgorde is om WSL en Linux te installeren binnen de WSL. Installeer vervolgens de GPU-stuurprogramma's voor Windows Server en de NVIDIA® CUDA® Toolkit in Linux. Indien gewenst kan Docker Desktop daarna worden toegevoegd om containers te draaien die zijn ingeschakeld voor GPU.
Controleer voordat je verder gaat of alle benodigde updates zijn geïnstalleerd op je systeem.
WSL en Ubuntu installeren
Om te beginnen, selecteer Start > PowerShell en voer het uit met beheerdersrechten. Het volgende commando schakelt WSL in:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Zodra het installatieproces is voltooid, moet je het besturingssysteem zoals gewoonlijk opnieuw opstarten en PowerShell opnieuw openen. Laten we de WSL-kernel bijwerken:
wsl --update
En installeer de benodigde Linux-distributie, bijvoorbeeld Ubuntu 22.04 LTS:
wsl --install -d Ubuntu-22.04
De nieuwe Ubuntu 22.04-toepassing zal zichtbaar zijn in het menu Start. Als je erop klikt, verschijnt er een terminalvenster met een instantie van Linux Ubuntu. Je moet de cache bijwerken en alle beschikbare pakketten upgraden naar de nieuwste versies:
sudo apt update && sudo apt -y upgrade
De volgende stap is het installeren van Python's pakketbeheerder en NVIDIA® CUDA® Toolkit. Het is belangrijk om te onthouden dat het niet nodig is om GPU-stuurprogramma's in deze Linux-kernel te installeren:
sudo apt -y install python3-pip nvidia-cuda-toolkit
Om ervoor te zorgen dat alle scripts in de NVIDIA® CUDA® Toolkit goed werken, is het noodzakelijk om hun pad vooraf te definiëren in de $PATH variabele. Je kunt dit doen door het volgende bestand te openen:
nano ~/.bashrc
En voeg de volgende string toe aan het einde:
export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}
Sla het bestand op en sluit de Ubuntu-terminal af.
Nvidia-stuurprogramma's installeren
Volg onze instructies in dit artikel: Nvidia-stuurprogramma's installeren in Windows. Het resultaat ziet er als volgt uit:

PyTorch installeren
Open Ubuntu 22.04 terminal en typ het volgende commando om PyTorch met CUDA® ondersteuning te installeren:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Test in Python
Ga naar de interactieve console van 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.
En typ achtereenvolgens deze commando's:
import torch
torch.cuda.device_count()
5
torch.cuda.is_available()
True
Het eerste commando importeert het PyTorch framework. Het tweede commando toont het aantal CUDA-compatibele apparaten in een systeem. Het derde commando geeft de beschikbaarheid van CUDA® aan.
Test in Docker
Begin met het installeren van Docker Desktop. Het installatieprogramma is hier te vinden. Herstart de server en start Docker Desktop. Deze actie start de Docker-engine. Open vervolgens Ubuntu 22.04 console via het menu Start en typ het volgende commando:
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark -numdevices=5
waarbij -numdevices het aantal geïnstalleerde GPU's is. Voor dit voorbeeld testen we op een dedicated server met 5 GPU's.
Als u de foutmelding "Error: only 0 Devices available, 5 requested. Exiting." krijgt, blijf dan rustig. Dit is een Nvidia-bug en u kunt deze eenvoudig oplossen door elke GPU opnieuw in te schakelen in Apparaatbeheer. Klik met de rechtermuisknop op een Start menu en selecteer Device Manager. Vouw de lijst Display adapters uit, selecteer elke GPU en schakel deze uit in het menu Action. Daarna Enable elke GPU op dezelfde manier. Nu werkt deze opdracht perfect:

Conclusie
Met deze methode kun je bijna elke toepassing starten, hoewel er enkele beperkingen kunnen zijn op basis van de systeemspecificaties. Ondanks deze beperkingen verloopt de implementatie meestal naadloos en kun je genieten van alle voordelen die Linux biedt, maar dan binnen een Windows Server-omgeving.
Zie ook:
Bijgewerkt: 28.03.2025
Gepubliceerd: 28.06.2024