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:

  • 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.

  1. 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.
  2. Maak een ZIP-bestand van het pakket.
  3. 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.
  4. 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:

  1. Implementeer een VM uit de Azure NC-serie met Ubuntu 16.04 LTS. Maak bijvoorbeeld de VM in de regio US - zuid-centraal.
  2. 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.
  3. Volg de stappen voor het maken van een Azure Compute Gallery-afbeelding voor Batch.
  4. Maak een Batch-account in een regio die VM's met NC ondersteunt.
  5. 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:

  1. Implementeer een Azure H16r-VM met Windows Server 2016. Maak bijvoorbeeld de VM in de regio US - west.
  2. 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.
  3. Maak een Extern bureaublad verbinding met de VM.
  4. Download het installatiepakket (MSMpiSetup.exe) voor de nieuwste versie van Microsoft MPI en installeer Microsoft MPI.
  5. Volg de stappen voor het maken van een Azure Compute Gallery-afbeelding voor Batch.
  6. 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