Använda RDMA- eller GPU-instanser i Batch-pooler
Om du vill köra vissa Batch-jobb kan du dra nytta av Azure VM-storlekar som är utformade för storskalig beräkning. Exempel:
Om du vill köra MPI-arbetsbelastningarmed flera instanser väljer du H-serien eller andra storlekar som har ett nätverksgränssnitt för direktåtkomst till fjärrminne (RDMA). Dessa storlekar ansluter till ett InfiniBand-nätverk för kommunikation mellan noder, vilket kan påskynda MPI-program.
För CUDA-program väljer du N-seriens storlekar som innehåller NVIDIA Tesla GPU-kort (Graphics Processing Unit).
Den här artikeln innehåller vägledning och exempel för att använda några av Azures specialiserade storlekar i Batch-pooler. Specifikationer och bakgrund finns i:
Anteckning
Vissa VM-storlekar kanske inte är tillgängliga i de regioner där du skapar dina Batch-konton. Om du vill kontrollera att en storlek är tillgänglig kan du läsa Produkt tillgänglig per region och Välj en VM-storlek för en Batch-pool.
Beroenden
RDMA- eller GPU-funktionerna i beräkningsintensiva storlekar i Batch stöds endast i vissa operativsystem. (Listan över operativsystem som stöds är en delmängd av de som stöds för virtuella datorer som skapats i dessa storlekar.) Beroende på hur du skapar batchpoolen kan du behöva installera eller konfigurera ytterligare drivrutin eller annan programvara på noderna. Följande tabeller sammanfattar dessa beroenden. Mer information finns i länkade artiklar. Alternativ för att konfigurera Batch-pooler finns längre fram i den här artikeln.
Linux-pooler – Konfiguration av virtuell dator
| Storlek | Funktion | Operativsystem | Programvara som krävs | Poolinställningar |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Ubuntu 16.04 LTS, eller CentOS-baserad HPC (Azure Marketplace) |
Intel MPI 5 Linux RDMA-drivrutiner |
Aktivera kommunikation mellan noder, inaktivera samtidig uppgiftskörning |
| NC, NCv2, NCv3, NDv2-serien | NVIDIA Tesla GPU (varierar beroende på serie) | Ubuntu 16.04 LTS, eller CentOS 7.3 eller 7.4 (Azure Marketplace) |
DRIVRUTINER FÖR NVIDIA CUDA eller CUDA Toolkit | Ej tillämpligt |
| NV, NVv2-serien | NVIDIA Tesla M60 GPU | Ubuntu 16.04 LTS, eller CentOS 7.3 (Azure Marketplace) |
NVIDIA GRID-drivrutiner | Ej tillämpligt |
*RDMA-kompatibla N-seriestorlekar innehåller även NVIDIA Tesla-GPU:er
Windows pooler – Konfiguration av virtuell dator
| Storlek | Funktion | Operativsystem | Programvara som krävs | Poolinställningar |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Windows Server 2016, 2012 R2 eller 2012 (Azure Marketplace) |
Microsoft MPI 2012 R2 eller senare, eller Intel MPI 5 Windows RDMA-drivrutiner |
Aktivera kommunikation mellan noder, inaktivera samtidig uppgiftskörning |
| NC, NCv2, NCv3, ND, NDv2-serien | NVIDIA Tesla GPU (varierar beroende på serie) | Windows Server 2016 eller 2012 R2 (Azure Marketplace) |
DRIVRUTINER FÖR NVIDIA CUDA eller CUDA Toolkit | Ej tillämpligt |
| NV, NVv2-serien | NVIDIA Tesla M60 GPU | Windows Server 2016 eller 2012 R2 (Azure Marketplace) |
NVIDIA GRID-drivrutiner | Ej tillämpligt |
*RDMA-kompatibla N-seriestorlekar innehåller även NVIDIA Tesla-GPU:er
Windows pooler – Cloud Services konfiguration
Varning
Cloud Services-konfigurationspooler är inaktuella. Använd konfigurationspooler för virtuella datorer i stället.
| Storlek | Funktion | Operativsystem | Programvara som krävs | Poolinställningar |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 | RDMA | Windows Server 2016, 2012 R2, 2012 eller 2008 R2 (gästoperativsystemfamilj) |
Microsoft MPI 2012 R2 eller senare, eller Intel MPI 5 Windows RDMA-drivrutiner |
Aktivera kommunikation mellan noder, inaktivera samtidig uppgiftskörning |
Anteckning
N-seriens storlekar stöds inte i Cloud Services konfigurationspooler.
Konfigurationsalternativ för pooler
Om du vill konfigurera en specialiserad VM-storlek för Batch-poolen har du flera alternativ för att installera nödvändig programvara eller drivrutiner:
För pooler i den virtuella datorkonfigurationen väljer du en förkonfigurerad avbildning Azure Marketplace virtuell dator som har drivrutiner och programvara förinstallerade. Exempel:
CentOS-baserad 7.4 HPC – innehåller RDMA-drivrutiner och Intel MPI 5.1
Data Science Virtual Machine för Linux eller Windows – innehåller NVIDIA CUDA-drivrutiner
Linux-avbildningar för Batch-containerarbetsbelastningar som även innehåller GPU- och RDMA-drivrutiner:
Skapa en anpassad Windows virtuell Linux-datoravbildning där du har installerat drivrutiner, programvara eller andra inställningar som krävs för VM-storleken.
Skapa ett Batch-programpaket från en komprimerad drivrutin eller programinstallationsprogram och konfigurera Batch för att distribuera paketet till poolnoder och installera en gång när varje nod skapas. Om programpaketet till exempel är ett installationsprogram skapar du en kommandorad för startaktivitet för tyst installation av appen på alla poolnoder. Överväg att använda ett programpaket och en startaktivitet för poolen om din arbetsbelastning är beroende av en viss drivrutinsversion.
Anteckning
Startaktiviteten måste köras med förhöjd behörighet (administratör) och den måste vänta på att åtgärden ska lyckas. Långvariga aktiviteter ökar tiden för att etablera en Batch-pool.
Batch Shipyard konfigurerar automatiskt GPU- och RDMA-drivrutinerna för att arbeta transparent med containeriserade arbetsbelastningar på Azure Batch. Batch Shipyard drivs helt och hållet av konfigurationsfiler. Det finns många exempel på receptkonfigurationer som aktiverar GPU- och RDMA-arbetsbelastningar, till exempel CNTK GPU-receptet som förkonfigurerar GPU-drivrutiner på virtuella datorer i N-serien och läser in Microsoft Cognitive Toolkit-programvara som en Docker-avbildning.
Exempel: NVIDIA GPU-drivrutiner på Windows NC VM-pool
Om du vill köra CUDA-program på en pool Windows NC-noder måste du installera NVDIA GPU-drivrutiner. Följande exempelsteg använder ett programpaket för att installera NVIDIA GPU-drivrutinerna. Du kan välja det här alternativet om din arbetsbelastning är beroende av en specifik GPU-drivrutinsversion.
- Ladda ned ett konfigurationspaket för GPU-drivrutinerna Windows Server 2016 från NVIDIA-webbplatsen, till exempel version 411.82. Spara filen lokalt med ett kort namn som GPUDriverSetup.exe.
- Skapa en zip-fil med paketet.
- Upload paketet till Batch-kontot. Anvisningar finns i vägledningen för programpaket. Ange ett program-ID som GPUDriver och en version, till exempel 411.82.
- Med hjälp av Batch-API:Azure Portal kan du skapa en pool i den virtuella datorkonfigurationen med önskat antal noder och skala. I följande tabell visas exempelinställningar för tyst installation av NVIDIA GPU-drivrutiner med hjälp av en startaktivitet:
| Inställning | Värde |
|---|---|
| Bildtyp | Marketplace (Linux/Windows) |
| Utgivare | MicrosoftWindowsServer |
| Erbjudande | WindowsServer |
| Sku | 2016-Datacenter |
| Nodstorlek | NC6 Standard |
| Programpaketreferenser | GPUDriver, version 411.82 |
| Starta aktivitet aktiverad | Sant Kommandoraden - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"Användaridentitet – Automatisk användare av pooler, administratör Vänta på att det lyckades – Sant |
Exempel: NVIDIA GPU-drivrutiner på en LINUX NC VM-pool
Om du vill köra CUDA-program i en pool med Linux NC-noder måste du installera nödvändiga NVIDIA Tesla GPU-drivrutiner från CUDA Toolkit. Följande exempelsteg skapar och distribuerar en anpassad Ubuntu 16.04 LTS-avbildning med GPU-drivrutinerna:
- Distribuera en virtuell dator i Azure NC-serien som kör Ubuntu 16.04 LTS. Skapa till exempel den virtuella datorn i regionen USA, södra centrala.
- Lägg till tillägget NVIDIA GPU-drivrutiner till den virtuella datorn med hjälp av Azure Portal, en klientdator som ansluter till Azure-prenumerationen eller Azure Cloud Shell. Du kan också följa stegen för att ansluta till den virtuella datorn och installera CUDA-drivrutiner manuellt.
- Följ stegen för att skapa en Azure Compute Galleri-avbildning för Batch.
- Skapa ett Batch-konto i en region som stöder virtuella NC-datorer.
- Använd Batch-API:erna eller Azure Portal skapa en pool med hjälp av den anpassade avbildningen och med önskat antal noder och skala. I följande tabell visas exempelpoolinställningar för bilden:
| Inställning | Värde |
|---|---|
| Bildtyp | Anpassad avbildning |
| Anpassad avbildning | Namnet på avbildningen |
| Nodagent-SKU | batch.node.ubuntu 16.04 |
| Nodstorlek | NC6 Standard |
Exempel: Microsoft MPI på en Windows H16r VM-pool
Om du Windows MPI-program på en pool med virtuella Azure H16r-noder måste du konfigurera tillägget HpcVmDrivers och installera Microsoft MPI. Här är exempelsteg för att distribuera en anpassad Windows Server 2016-avbildning med nödvändiga drivrutiner och programvara:
- Distribuera en virtuell Azure H16r-dator som kör Windows Server 2016. Skapa till exempel den virtuella datorn i regionen USA, västra.
- Lägg till tillägget HpcVmDrivers till den virtuella datorn genom att köra ett Azure PowerShell-kommando från en klientdator som ansluter till din Azure-prenumeration eller använder Azure Cloud Shell.
- Skapa en fjärrskrivbordsanslutning till den virtuella datorn.
- Ladda ned installationspaketet (MSMpiSetup.exe) för den senaste versionen av Microsoft MPI och installera Microsoft MPI.
- Följ stegen för att skapa en Azure Compute Galleri-avbildning för Batch.
- Med hjälp av Batch-API:Azure Portal kan du skapa en pool med Azure Compute-galleriet och med önskat antal noder och skala. I följande tabell visas exempelpoolinställningar för bilden:
| Inställning | Värde |
|---|---|
| Bildtyp | Anpassad avbildning |
| Anpassad avbildning | Namnet på avbildningen |
| Nodagent-SKU | batch.node.windows amd64 |
| Nodstorlek | H16r Standard |
| Internode-kommunikation aktiverad | Sant |
| Maximalt antal aktiviteter per nod | 1 |
Exempel: Intel MPI på en linux H16r VM-pool
Om du vill köra MPI-program på en pool med noder i Linux H-serien är ett alternativ att använda den CentOS-baserade 7.4 HPC-avbildningen från Azure Marketplace. Linux RDMA-drivrutiner och Intel MPI är förinstallerade. Den här avbildningen stöder också Docker-containerarbetsbelastningar.
Använd Batch-API:erna eller Azure Portal skapa en pool med den här avbildningen och med önskat antal noder och skala. I följande tabell visas exempel på poolinställningar:
| Inställning | Värde |
|---|---|
| Bildtyp | Marketplace (Linux/Windows) |
| Utgivare | OpenLogic |
| Erbjudande | CentOS-HPC |
| Sku | 7,4 |
| Nodstorlek | H16r Standard |
| Internode-kommunikation aktiverad | Sant |
| Maximalt antal aktiviteter per nod | 1 |
Nästa steg
Information om hur du kör MPI-jobb Azure Batch en pool finns i Windows- eller Linux-exempel.
Exempel på GPU-arbetsbelastningar på Batch finns i Batch Shipyard-recept.