Sie fragen - wir antworten!

Wie man die Multi-GPU-Unterstützung in PyTorch überprüft

Die Anmietung eines Servers mit mehreren Grafikprozessoren löst ein einfaches Problem: die Verringerung der Rechenzeit durch parallelisierte Arbeitslasten. Allerdings können GPUs allein nicht für parallele Berechnungen sorgen - dies liegt immer in der Verantwortung des Entwicklers. In den meisten Fällen ist kein separater Mechanismus erforderlich. Wenn Sie ein Framework wie PyTorch zur Erstellung Ihrer Anwendung verwendet haben, ist diese Funktionalität bereits von Haus aus enthalten.

Nehmen wir an, Sie haben einen Server mit 8 GPUs gemietet und möchten sicherstellen, dass diese für Ihre PyTorch-basierte Anwendung verfügbar sind. Für einen schnellen Test können Sie einen der vorgefertigten kleinen Standarddatensätze verwenden, wie z. B. CIFAR-10. Dieser Datensatz enthält 60.000 Bilder: 50.000 zum Trainieren und 10.000 zum Testen.

Um Zeit für das Schreiben eigener Skripte zu sparen, können Sie bestehende Lösungen auf GitHub verwenden. Sie könnten zum Beispiel das folgende Repository klonen:

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

Navigieren Sie zu dem heruntergeladenen Verzeichnis:

cd pytorch-mgpu-cifar10

Nun müssen Sie die Variable CUDA_VISIBLE_DEVICES auf der Grundlage der im Server installierten GPUs setzen. Diese Variable gibt nicht die Anzahl der GPUs an, sondern ihre Identifikationsnummern. Wenn der Server zum Beispiel zwei Karten hat, geben Sie "0,1" an. In unserem Fall, mit 8 Karten, geben wir IDs von 0 bis 7 an:

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

Sie können nun mit dem Training des neuronalen Netzes mit diesem Datensatz beginnen:

python train_cifar10.py

Wenn keine Fehler auftreten, können Sie das Dienstprogramm nvtop in einer separaten SSH-Sitzung installieren und ausführen, um die Echtzeitlast auf jeder GPU zu überwachen:

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

Dieser Ansatz stellt sicher, dass alle GPUs für PyTorch zugänglich und gleichmäßig ausgelastet sind.

Siehe auch:



Aktualisiert: 28.03.2025

Veröffentlicht: 22.10.2024


Haben Sie noch Fragen? Schreiben Sie uns!

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