U vraagt, wij geven antwoord!

Hoe multi-GPU ondersteuning controleren in PyTorch

Het huren van een server met meerdere GPU's lost een eenvoudig probleem op: het verkorten van de rekentijd door middel van parallelle workloads. GPU's alleen kunnen echter geen parallelle berekeningen garanderen - dit is altijd de verantwoordelijkheid van de ontwikkelaar. In de meeste gevallen is er geen apart mechanisme nodig. Als je een framework zoals PyTorch hebt gebruikt om je applicatie te maken, dan zit deze functionaliteit er al standaard in.

Stel dat je een server hebt gehuurd met 8 GPU's en je wilt er zeker van zijn dat ze beschikbaar zijn voor je PyTorch-gebaseerde applicatie. Voor een snelle test kun je een van de kant-en-klare kleine standaard datasets gebruiken, zoals CIFAR-10. Deze dataset bevat 60.000 datasets. Deze dataset bevat 60.000 afbeeldingen: 50.000 voor training en 10.000 voor testen.

Om tijd te besparen op het schrijven van je eigen scripts, kun je bestaande oplossingen op GitHub gebruiken. Je kunt bijvoorbeeld de volgende repository klonen:

git clone https://github.com/kentaroy47/pytorch-mgpu-cifar10.git

Navigeer naar de gedownloade map:

cd pytorch-mgpu-cifar10

Nu moet je de variabele CUDA_VISIBLE_DEVICES instellen op basis van de GPU's die in de server zijn geïnstalleerd. Deze variabele specificeert niet het aantal GPU's, maar eerder hun identificatienummers. Als de server bijvoorbeeld twee kaarten heeft, geef je "0,1" op. In ons geval, met 8 kaarten, specificeren we ID's van 0 tot 7:

export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7

Je kunt nu beginnen met het trainen van het neurale netwerk met deze dataset:

python train_cifar10.py

Als er geen fouten optreden, kun je het hulpprogramma nvtop installeren en uitvoeren in een aparte SSH-sessie om de real-time belasting van elke GPU te controleren:

sudo apt update && sudo apt -y install nvtop && nvtop

Deze aanpak zorgt ervoor dat alle GPU's toegankelijk zijn voor PyTorch en gelijkmatig worden belast.

Zie ook:



Bijgewerkt: 28.03.2025

Gepubliceerd: 22.10.2024


Hebt u nog vragen? Schrijf ons!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.