RDMA- of GPU-exemplaren gebruiken in Batch-pools
Als u bepaalde Batch-taken wilt uitvoeren, kunt u profiteren van Azure VM-grootten die zijn ontworpen voor grootschalige berekeningen. Bijvoorbeeld:
Als u MPI-workloadsmet meerdere exemplaren wilt uitvoeren, kiest u H-serie of andere grootten die een netwerkinterface voor Remote Direct Memory Access (RDMA) hebben. Deze grootten maken verbinding met een InfiniBand-netwerk voor communicatie tussen knooppunt, waardoor MPI-toepassingen kunnen worden versneld.
Kies voor CUDA-toepassingen grootten uit de N-serie die NVIDIA Tesla GPU-kaarten (Graphics Processing Unit) bevatten.
Dit artikel bevat richtlijnen en voorbeelden voor het gebruik van enkele van de gespecialiseerde grootten van Azure in Batch-pools. Zie voor specificaties en achtergrondinformatie:
Notitie
Bepaalde VM-grootten zijn mogelijk niet beschikbaar in de regio's waar u uw Batch-accounts maakt. Zie Beschikbare producten per regio en Een VM-grootte kiezen voor een Batch-poolom te controleren of een grootte beschikbaar is.
Afhankelijkheden
De RDMA- of GPU-mogelijkheden van rekenintensieve grootten in Batch worden alleen ondersteund in bepaalde besturingssystemen. (De lijst met ondersteunde besturingssystemen is een subset van de besturingssystemen die worden ondersteund voor virtuele machines die in deze grootten zijn gemaakt.) Afhankelijk van hoe u uw Batch-pool maakt, moet u mogelijk extra stuurprogramma's of andere software op de knooppunten installeren of configureren. De volgende tabellen geven een overzicht van deze afhankelijkheden. Zie gekoppelde artikelen voor meer informatie. Zie verder in dit artikel voor opties voor het configureren van Batch-pools.
Linux-pools - Configuratie van virtuele machine
| Grootte | Mogelijkheid | Besturingssystemen | Vereiste software | Poolinstellingen |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Ubuntu 16.04 LTS of HpC op basis van CentOS (Azure Marketplace) |
Intel MPI 5 Linux RDMA-stuurprogramma's |
Communicatie tussen knooppunt inschakelen, gelijktijdige taakuitvoering uitschakelen |
| NC, NCv2, NCv3, NDv2-serie | NVIDIA Tesla GPU (varieert per serie) | Ubuntu 16.04 LTS of CentOS 7.3 of 7.4 (Azure Marketplace) |
NVIDIA CUDA- of CUDA-Toolkit | N.v.t. |
| NV, NVv2-serie | NVIDIA Tesla M60 GPU | Ubuntu 16.04 LTS of CentOS 7.3 (Azure Marketplace) |
NVIDIA GRID-stuurprogramma's | N.v.t. |
*Grootten uit de N-serie die geschikt zijn voor RDMA bevatten ook GPU's van NVIDIA Tesla
Windows pools - Configuratie van virtuele machines
| Grootte | Mogelijkheid | Besturingssystemen | Vereiste software | Poolinstellingen |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Windows Server 2016, 2012 R2 of 2012 (Azure Marketplace) |
Microsoft MPI 2012 R2 of hoger, of Intel MPI 5 Windows RDMA-stuurprogramma's |
Communicatie tussen knooppunt inschakelen, gelijktijdige taakuitvoering uitschakelen |
| NC, NCv2, NCv3, ND, NDv2-serie | NVIDIA Tesla GPU (varieert per serie) | Windows Server 2016 of 2012 R2 (Azure Marketplace) |
NVIDIA CUDA- of CUDA-Toolkit | N.v.t. |
| NV, NVv2-serie | NVIDIA Tesla M60 GPU | Windows Server 2016 of 2012 R2 (Azure Marketplace) |
NVIDIA GRID-stuurprogramma's | N.v.t. |
*Grootten uit de N-serie die geschikt zijn voor RDMA bevatten ook GPU's van NVIDIA Tesla
Windows pools - Cloud Services-configuratie
Waarschuwing
Cloud Services configuratiegroepen zijn afgeschaft. Gebruik in plaats daarvan configuratiegroepen voor virtuele machines.
| Grootte | Mogelijkheid | Besturingssystemen | Vereiste software | Poolinstellingen |
|---|---|---|---|---|
| H16r, H16mr, A8, A9 | RDMA | Windows Server 2016, 2012 R2, 2012 of 2008 R2 (gast os-familie) |
Microsoft MPI 2012 R2 of hoger, of Intel MPI 5 Windows RDMA-stuurprogramma's |
Communicatie tussen knooppunt inschakelen, gelijktijdige taakuitvoering uitschakelen |
Notitie
Grootten uit de N-serie worden niet ondersteund in Cloud Services-configuratiegroepen.
Configuratieopties voor pool
Als u een gespecialiseerde VM-grootte voor uw Batch-pool wilt configureren, hebt u verschillende opties om vereiste software of stuurprogramma's te installeren:
Voor pools in de configuratie van de virtuele machine kiest u een vooraf geconfigureerde VM-Azure Marketplace met stuurprogramma's en software die vooraf zijn geïnstalleerd. Voorbeelden:
Op CentOS gebaseerde 7.4 HPC: bevat RDMA-stuurprogramma's en Intel MPI 5.1
Data Science Virtual Machine voor Linux of Windows: bevat NVIDIA CUDA-stuurprogramma's
Linux-afbeeldingen voor Batch-containerworkloads die ook GPU- en RDMA-stuurprogramma's bevatten:
Maak een aangepaste Windows of linux-VM-installatieprogramma waarop u stuurprogramma's, software of andere instellingen hebt geïnstalleerd die vereist zijn voor de VM-grootte.
Maak een Batch-toepassingspakket op basis van een gerits stuurprogramma of installatieprogramma voor toepassingen en configureer Batch om het pakket te implementeren op poolknooppunten en installeer het pakket eenmaal wanneer elk knooppunt wordt gemaakt. Als het toepassingspakket bijvoorbeeld een installatieprogramma is, maakt u een opdrachtregel voor de begintaak om de app op de stille kracht op alle poolknooppunten te installeren. Overweeg het gebruik van een toepassingspakket en een poolstarttaak als uw workload afhankelijk is van een bepaalde stuurprogrammaversie.
Notitie
De begintaak moet worden uitgevoerd met verhoogde machtigingen (beheerder) en moet wachten op een succesvolle taak. Langlopende taken verhogen de tijd voor het inrichten van een Batch-pool.
Batch Batch Batch configureert automatisch de GPU- en RDMA-stuurprogramma's om transparant te werken met workloads in containers op Azure Batch. Batch Batch Is volledig aangestuurd met configuratiebestanden. Er zijn veel voorbeeldreceptconfiguraties beschikbaar die GPU- en RDMA-workloads mogelijk maken, zoals het CNTK GPU Recipe dat vooraf GPU-stuurprogramma's op VM's uit de N-serie configureert en Microsoft Cognitive Toolkit-software laadt als een Docker-installatiebestand.
Voorbeeld: NVIDIA GPU-stuurprogramma's op Windows NC VM-pool
Als u CUDA-toepassingen wilt uitvoeren in een pool Windows NC-knooppunten, moet u NVDIA GPU-stuurprogramma's installeren. In de volgende voorbeeldstappen wordt een toepassingspakket gebruikt om de NVIDIA GPU-stuurprogramma's te installeren. U kunt deze optie kiezen als uw workload afhankelijk is van een specifieke versie van het GPU-stuurprogramma.
- Download een installatiepakket voor de GPU-stuurprogramma's op Windows Server 2016 van de NVIDIA-website, bijvoorbeeld versie 411.82. Sla het bestand lokaal op met een korte naam zoals GPUDriverSetup.exe.
- Maak een ZIP-bestand van het pakket.
- Upload pakket toevoegen aan uw Batch-account. Zie de richtlijnen voor toepassingspakketten voor stappen. Geef een toepassings-id op, zoals GPUDriver, en een versie zoals 411.82.
- Maak met behulp van de Batch-API's of Azure Portal een pool in de configuratie van de virtuele machine met het gewenste aantal knooppunten en schaal. In de volgende tabel ziet u voorbeeldinstellingen voor het op de stil installeren van de NVIDIA GPU-stuurprogramma's met behulp van een begintaak:
| Instelling | Waarde |
|---|---|
| Type installatiekopie | Marketplace (Linux/Windows) |
| Publisher | MicrosoftWindowsServer |
| Aanbieding | WindowsServer |
| SKU | 2016-Datacenter |
| Knooppuntgrootte | NC6 Standard |
| Verwijzingen naar toepassingspakketten | GPUDriver, versie 411.82 |
| Taak starten ingeschakeld | Waar Opdrachtregel - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"Gebruikersidentiteit - automatische gebruiker van pool, beheerder Wachten op succes - Waar |
Voorbeeld: NVIDIA GPU-stuurprogramma's op een Linux NC VM-pool
Als u CUDA-toepassingen wilt uitvoeren in een pool met Linux NC-knooppunten, moet u de benodigde NVIDIA Tesla GPU-stuurprogramma's installeren vanuit de CUDA-Toolkit. Met de volgende voorbeeldstappen maakt en implementeert u een aangepaste Ubuntu 16.04 LTS-installatier met de GPU-stuurprogramma's:
- Implementeer een VM uit de Azure NC-serie met Ubuntu 16.04 LTS. Maak bijvoorbeeld de VM in de regio US - zuid-centraal.
- Voeg de extensie NVIDIA GPU Drivers toe aan de VM met behulp van de Azure Portal, een clientcomputer die verbinding maakt met het Azure-abonnement of Azure Cloud Shell. U kunt ook de stappen volgen om verbinding te maken met de VM en CUDA-stuurprogramma's handmatig te installeren.
- Volg de stappen voor het maken van een Azure Compute Gallery-afbeelding voor Batch.
- Maak een Batch-account in een regio die VM's met NC ondersteunt.
- Maak met behulp van de Batch-API's of Azure Portal een pool met behulp van de aangepaste afbeelding en met het gewenste aantal knooppunten en schaal. In de volgende tabel ziet u voorbeeldgroepinstellingen voor de afbeelding:
| Instelling | Waarde |
|---|---|
| Type installatiekopie | Aangepaste installatiekopie |
| Aangepaste afbeelding | Naam van de afbeelding |
| Knooppuntagent-SKU | batch.node.ubuntu 16.04 |
| Knooppuntgrootte | NC6 Standard |
Voorbeeld: Microsoft MPI op een Windows H16r VM-pool
Als u Windows MPI-toepassingen wilt uitvoeren in een pool met Azure H16r VM-knooppunten, moet u de HpcVmDrivers-extensie configureren en Microsoft MPI installeren. Hier volgen voorbeeldstappen voor het implementeren van een aangepaste Windows Server 2016 met de benodigde stuurprogramma's en software:
- Implementeer een Azure H16r-VM met Windows Server 2016. Maak bijvoorbeeld de VM in de regio US - west.
- Voeg de HpcVmDrivers-extensie toe aan de VM door een Azure PowerShell-opdracht uit te voeren vanaf een clientcomputer die verbinding maakt met uw Azure-abonnement of door gebruik te maken van Azure Cloud Shell.
- Maak een Extern bureaublad verbinding met de VM.
- Download het installatiepakket (MSMpiSetup.exe) voor de nieuwste versie van Microsoft MPI en installeer Microsoft MPI.
- Volg de stappen voor het maken van een Azure Compute Gallery-afbeelding voor Batch.
- Maak met behulp van de Batch-API's of Azure Portal een pool met behulp van de Azure Compute Gallery en met het gewenste aantal knooppunten en schaal. In de volgende tabel ziet u voorbeeldgroepinstellingen voor de afbeelding:
| Instelling | Waarde |
|---|---|
| Type installatiekopie | Aangepaste installatiekopie |
| Aangepaste afbeelding | Naam van de afbeelding |
| Knooppuntagent-SKU | batch.node.windows amd64 |
| Knooppuntgrootte | H16r Standard |
| Communicatie tussen knooppunt ingeschakeld | Waar |
| Maximum aantal taken per knooppunt | 1 |
Voorbeeld: Intel MPI op een Linux H16r VM-pool
Als u MPI-toepassingen wilt uitvoeren in een pool met knooppunten uit de Linux H-serie, kunt u de op CentOS gebaseerde 7.4 HPC-afbeelding van de Azure Marketplace. Linux RDMA-stuurprogramma's en Intel MPI zijn vooraf geïnstalleerd. Deze afbeelding biedt ook ondersteuning voor Docker-containerworkloads.
Maak met behulp van de Batch-API's of Azure Portal een pool met behulp van deze afbeelding en met het gewenste aantal knooppunten en schaal. In de volgende tabel ziet u voorbeeldpoolinstellingen:
| Instelling | Waarde |
|---|---|
| Type installatiekopie | Marketplace (Linux/Windows) |
| Publisher | OpenLogic |
| Aanbieding | CentOS-HPC |
| SKU | 7.4 |
| Knooppuntgrootte | H16r Standard |
| Communicatie tussen knooppunt ingeschakeld | Waar |
| Maximum aantal taken per knooppunt | 1 |
Volgende stappen
Als u MPI-taken wilt uitvoeren in Azure Batch pool, bekijkt u de voorbeelden Windows Linux.
Zie de Batch Batch Batch-recepten voor voorbeelden van GPU-workloads in Batch.