Verwenden RDMA-fähiger oder GPU-fähiger Instanzen in Batch-Pools
Für die Ausführung bestimmter Batch-Aufträge können Sie die Vorteile von Azure-VM-Größen nutzen, die speziell für umfangreiche Berechnungen entwickelt wurden. Zum Beispiel:
Wenn Sie MPI-Workloads mit mehreren Instanzen ausführen, wählen Sie die HB-, HC-, NC- oder ND-Serie oder andere Größen aus, die über eine Netzwerkschnittstelle für Remote Direct Memory Access (RDMA) verfügen. Diese Größen stellen für die knotenübergreifende Kommunikation eine Verbindung mit einem InfiniBand-Netzwerk her, um so MPI-Anwendungen zu beschleunigen.
Wählen Sie bei Verwendung von CUDA-Anwendungen Größen der N-Serie aus, die NVIDIA Tesla GPU-Karten (Graphics Processing Unit) enthalten.
Dieser Artikel enthält Anweisungen und Anwendungsbeispiele für einige spezielle Größen in Azure für Batch-Pools. Technische Daten und Hintergrundinformationen finden Sie unter:
Hinweis
Bestimmte VM-Größen sind in den Regionen, in denen Sie Ihre Batch-Konten erstellen, möglicherweise nicht verfügbar. Informationen zu den verfügbaren Größen finden Sie unter Verfügbare Produkte nach Region und Auswählen einer VM-Größe für einen Batch-Pool.
Abhängigkeiten
Die RDMA- oder GPU-Funktionen rechenintensiver Größen in Batch werden nur unter bestimmten Betriebssystemen unterstützt. Die unterstützten Betriebssysteme für diese VM-Größen enthalten nur eine Teilmenge der Betriebssysteme, die für die Erstellung virtueller Computer verfügbar sind. Je nachdem, wie Sie Ihren Batchpool erstellen, müssen Sie möglicherweise zusätzliche Treiber oder andere Software auf den Knoten installieren oder konfigurieren. In den folgenden Tabellen werden diese Abhängigkeiten zusammengefasst. Einzelheiten finden Sie in den verlinkten Artikeln. Optionen zum Konfigurieren von Batch-Pools finden Sie weiter unten in diesem Artikel.
Linux-Pools – Konfiguration „Virtueller Computer“
Size | Funktion | Betriebssysteme | Erforderliche Software | Pooleinstellungen |
---|---|---|---|---|
H16r, H16mr NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Ubuntu 22.04 LTS (Azure Marketplace) |
Intel MPI 5 Linux-RDMA-Treiber |
Knotenübergreifende Kommunikation aktivieren, parallele Taskausführung deaktivieren |
NCv3-, NDv2-, NDv4-, NDv5-Serie | NVIDIA Tesla GPU (je nach Serie) | Ubuntu 22.04 LTS (Azure Marketplace) |
NVIDIA CUDA- oder CUDA Toolkit-Treiber | N/V |
NVv3-, NVv4-, NVv5-Serie | GPU für beschleunigte Visualisierung | Ubuntu 22.04 LTS (Azure Marketplace) |
NVIDIA GRID-Treiber (falls erforderlich) | N/V |
*RDMA-fähige Größen der N-Serie umfassen auch NVIDIA Tesla GPUs.
Wichtig
Dieses Dokument verweist auf eine Releaseversion von Linux, die sich dem Ende des Lebenszyklus (End of Life, EOL) nähert oder es erreicht hat. Erwägen Sie ein Update auf eine aktuellere Version.
Windows-Pools: VM-Konfiguration
Size | Funktion | Betriebssysteme | Erforderliche Software | Pooleinstellungen |
---|---|---|---|---|
H16r, H16mr NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Windows Server 2016, 2012 R2 oder 2012 (Azure Marketplace) |
Microsoft MPI 2012 R2 oder höher oder Intel MPI 5 Windows-RDMA-Treiber |
Knotenübergreifende Kommunikation aktivieren, parallele Taskausführung deaktivieren |
NC-, NCv2-, NCv3-, ND-, NDv2-Serie | NVIDIA Tesla GPU (je nach Serie) | Windows Server 2016 oder 2012 R2 (Azure Marketplace) |
NVIDIA CUDA- oder CUDA Toolkit-Treiber | – |
NV, NVv2, NVv4-Serie | NVIDIA Tesla M60 GPU | Windows Server 2016 oder 2012 R2 (Azure Marketplace) |
NVIDIA GRID-Treiber | – |
*RDMA-fähige Größen der N-Serie umfassen auch NVIDIA Tesla GPUs.
Windows-Pools: Cloud Services-Konfiguration
Warnung
Cloud Services-Konfigurationspools sind veraltet. Verwenden Sie stattdessen VM-Konfigurationspools.
Size | Funktion | Betriebssysteme | Erforderliche Software | Pooleinstellungen |
---|---|---|---|---|
H16r, H16mr | RDMA | Windows Server 2016, 2012 R2, 2012 oder 2008 R2 (Gastbetriebssystemfamilie) |
Microsoft MPI 2012 R2 oder höher oder Intel MPI 5 Windows-RDMA-Treiber |
Kommunikation zwischen Knoten aktivieren, parallele Taskausführung deaktivieren |
Hinweis
Größen der N-Serie werden in Cloud Services-Konfigurationspools nicht unterstützt.
Poolkonfigurationsoptionen
Für das Konfigurieren einer speziellen VM-Größe für Ihren Batch-Pool stehen Ihnen mehrere Optionen zum Installieren der erforderlichen Software oder Treiber zur Verfügung:
Wählen Sie für Pools in der Konfiguration „Virtueller Computer“ ein vorkonfiguriertes Azure Marketplace-VM-Image aus, auf dem Treiber und Software vorinstalliert sind. Beispiele:
Data Science Virtual Machine für Linux oder Windows: umfasst NVIDIA CUDA-Treiber
Linux-Images für Batch-Containerworkloads, die auch GPU- und RDMA-Treiber umfassen:
Ubuntu Server (mit GPU- und RDMA-Treibern) für Azure Batch-Containerpools
Erstellen Sie ein benutzerdefiniertes Windows- oder Linux-VM-Image mit installierten Treibern, installierter Software oder andere erforderliche Einstellungen für die Größe des virtuellen Computers installiert haben.
Erstellen Sie ein Batch-Anwendungspaket aus einem gezippten Treiber oder Anwendungsinstallationsprogramm. Konfigurieren Sie dann Batch, um dieses Paket auf Poolknoten bereitzustellen und nach der Erstellung jedes Knotens zu installieren. Wenn das Anwendungspaket beispielsweise ein Installationsprogramm ist, erstellen Sie eine Befehlszeile für die Startaufgabe, mit der die App auf allen Poolknoten im Hintergrund installiert wird. Ziehen Sie die Verwendung eines Anwendungspakets und einer Poolstartaufgabe in Betracht, wenn Ihre Workload von einer bestimmten Treiberversion abhängig ist.
Hinweis
Die Startaufgabe muss mit erhöhten Rechten (Administrator) ausgeführt werden und die erfolgreiche Ausführung abwarten. Bei lang andauernden Aufgaben erhöht sich die zum Bereitstellen eines Batch-Pools benötigte Zeit.
Beispiel: NVIDIA-GPU-Treiber in einem NC-VM-Pool unter Windows
Um CUDA-Anwendungen in einem Windows-NC-Knotenpool ausführen zu können, müssen Sie NVIDIA-GPU-Treiber installieren. In den folgenden Beispielschritten wird ein Anwendungspaket zum Installieren der NVIDIA GPU-Treiber verwendet. Sie können diese Option auswählen, wenn Ihre Workload von einer bestimmten GPU-Treiberversion abhängig ist.
- Laden Sie ein Setuppaket für die GPU-Treiber unter Windows Server 2016 von der NVIDIA-Website herunter, z. B. Version 411.82. Speichern Sie die Datei lokal, und verwenden Sie dabei einen Kurznamen wie GPUDriverSetup.exe.
- Erstellen Sie eine ZIP-Datei des Pakets.
- Laden Sie das Paket in Ihr Batch-Konto hoch. Anweisungen finden Sie in der Anleitung zum Anwendungspaket. Geben Sie eine Anwendungs-ID (z. B. GPUDriver) und eine Version (z. B. 411.82) an.
- Erstellen Sie mit den Batch-APIs oder im Azure-Portal einen Pool in der Konfiguration „Virtueller Computer“ mit der gewünschten Anzahl von Knoten und der gewünschten Skalierung. In der folgenden Tabelle werden Beispieleinstellungen für die mithilfe einer Startaufgabe im Hintergrund ausgeführte Installation der NVIDIA GPU-Treiber aufgeführt:
Einstellung | Value |
---|---|
Imagetyp | Marketplace (Linux/Windows) |
Publisher | MicrosoftWindowsServer |
Angebot | Windows Server |
sku | 2016-Datacenter |
Knotengröße | NC6 Standard |
Anwendungspaketverweise | GPUDriver, Version 411.82 |
Startaufgabe aktiviert | Richtig Befehlszeile - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s" Benutzeridentität: autouser, admin für den Pool Erfolg abwarten: TRUE |
Beispiel: NVIDIA-GPU-Treiber in einem NC-VM-Pool unter Linux
Um CUDA-Anwendungen in einem Pool von Linux-NC-Knoten ausführen zu können, müssen Sie die erforderlichen NVIDIA Tesla GPU-Treiber aus dem CUDA Toolkit installieren. Mit den folgenden Beispielschritten erstellen Sie ein benutzerdefiniertes Ubuntu 22.04 LTS-Image mit den GPU-Treibern und stellen es bereit:
- Stellen Sie eine Azure-NC-Serien-VM mit Ubuntu 22.04 LTS bereit. Sie können den virtuellen Computer beispielsweise in der Region „USA, Süden-Mitte“ erstellen.
- Fügen Sie dem VM die Erweiterung für NVIDIA GPU-Treiber hinzu. Verwenden Sie dazu das Azure-Portal, einen mit dem Azure-Abonnement verknüpften Clientcomputer oder Azure Cloud Shell. Alternativ können Sie auch die Schritte zum Herstellen einer Verbindung mit dem virtuellen Computer und zum manuellen Installieren der CUDA-Treiber ausführen.
- Befolgen Sie die Schritte zum Erstellen eines Shared Image Gallery-Images für das Batch.
- Erstellen Sie ein Batch-Konto in einer Region, die NC-VMs unterstützt.
- Erstellen Sie mit den Batch-APIs oder dem Azure-Portal einen Pool mit dem benutzerdefinierten Image sowie der gewünschten Anzahl von Knoten und der gewünschten Skalierung. Die folgende Tabelle enthält Beispielpooleinstellungen für das Image:
Einstellung | Value |
---|---|
Imagetyp | Benutzerdefiniertes Image |
Benutzerdefiniertes Image | Name des Image |
Knoten-Agent-SKU | batch.node.ubuntu 22.04 |
Knotengröße | NC6 Standard |
Beispiel: Microsoft MPI in einem H16r-VM-Pool unter Windows
Um Windows-MPI-Anwendungen in einem Pool von Azure H16r-VM-Knoten ausführen zu können, müssen Sie die Erweiterung „HpcVmDrivers“ konfigurieren und Microsoft MPI installieren. Nachfolgend finden Sie Beispielschritte zum Bereitstellen eines benutzerdefinierten Windows Server 2016-Image mit den erforderlichen Treibern und der erforderlichen Software:
- Stellen Sie einen Azure H16r-VM unter Windows Server 2016 bereit. Erstellen Sie den virtuellen Computer beispielsweise in der Region „USA, Westen“.
- Fügen Sie dem VM die Erweiterung „HpcVmDrivers“ hinzu, indem Sie auf einem mit dem Azure-Abonnement verknüpften Clientcomputer einen Azure PowerShell-Befehl ausführen oder Azure Cloud Shell verwenden.
- Stellen Sie eine Remotedesktopverbindung mit dem virtuellen Computer her.
- Laden Sie das Setuppaket („MSMpiSetup.exe“) für die neueste Version von Microsoft MPI herunter, und installieren Sie Microsoft MPI.
- Befolgen Sie die Schritte zum Erstellen eines Shared Image Gallery-Images für das Batch.
- Erstellen Sie mit den Batch-APIs oder dem Azure-Portal einen Pool mit der Azure Compute Gallery sowie der gewünschten Anzahl von Knoten und der gewünschten Skalierung. Die folgende Tabelle enthält Beispielpooleinstellungen für das Image:
Einstellung | Value |
---|---|
Imagetyp | Benutzerdefiniertes Image |
Benutzerdefiniertes Image | Name des Image |
Knoten-Agent-SKU | batch.node.windows amd64 |
Knotengröße | H16r Standard |
Kommunikation zwischen Knoten aktiviert | Richtig |
Max. Aufgaben pro Knoten | 1 |