Usare istanze con supporto per RDMA o abilitate per GPU in pool di BatchUse RDMA-capable or GPU-enabled instances in Batch pools

Per eseguire determinati processi Batch, è consigliabile sfruttare le dimensioni delle macchine virtuali di Azure progettate per il calcolo su larga scala.To run certain Batch jobs, you might want to take advantage of Azure VM sizes designed for large-scale computation. Per eseguire ad esempio carichi di lavoro MPI a istanze multiple è possibile scegliere le dimensioni A8, A9 o H che offrono un'interfaccia di rete per RDMA (Remote Direct Memory Access, accesso diretto a memoria remota).For example, to run multi-instance MPI workloads, you can choose A8, A9, or H-series sizes that have a network interface for Remote Direct Memory Access (RDMA). Le VM di queste dimensioni si connettono a una rete InfiniBand per la comunicazione tra i nodi, che consente di velocizzare le applicazioni MPI.These sizes connect to an InfiniBand network for inter-node communication, which can accelerate MPI applications. Per le applicazioni CUDA è possibile scegliere le dimensioni della serie N, che includono schede GPU (Graphics Processing Unit, unità di elaborazione grafica) NVIDIA Tesla.Or for CUDA applications, you can choose N-series sizes that include NVIDIA Tesla graphics processing unit (GPU) cards.

Questo articolo fornisce istruzioni ed esempi per usare alcune delle dimensioni specializzate di Azure nei pool di Batch.This article provides guidance and examples to use some of Azure's specialized sizes in Batch pools. Per le specifiche e le informazioni di base, vedere:For specs and background, see:

Limiti della sottoscrizione e dell'accountSubscription and account limits

  • Quote e limiti: la quota di core per ogni account Batch può limitare il numero di nodi con le dimensioni specificate che possono essere aggiunti a un pool di Batch.Quotas and limits - The cores quota per Batch account can limit the number of nodes of a given size you can add to a Batch pool. È più probabile raggiungere una quota quando si scelgono dimensioni di VM con supporto per RDMA, abilitate per GPU o multicore.You are more likely to reach a quota when you choose RDMA-capable, GPU-enabled, or other multicore VM sizes.

    Inoltre, l'uso di determinati gruppi di VM nell'account di Batch, ad esempio NCv2, NCv3 e ND, è ridotto a causa della capacità limitata.Additionally, use of certain VM families in your Batch account, such as NCv2, NCv3, and ND, is restricted because of limited capacity. Per usare questi gruppi, richiedere un aumento della quota di 0 core predefinita.Use of these families is only available by requesting a quota increase from the default of 0 cores.

    Se necessario, richiedere un aumento della quota senza alcun costo aggiuntivo.If you need to, request a quota increase at no charge.

  • Disponibilità a livello di area: le VM a elevato utilizzo di calcolo potrebbero non essere disponibili nelle aree in cui si crea l'account Batch.Region availability - Compute-intensive VMs might not be available in the regions where you create your Batch accounts. Per verificare la disponibilità di una dimensione, vedere Prodotti disponibili in base all'area.To check that a size is available, see Products available by region.

DependenciesDependencies

Le funzionalità RDMA e GPU delle dimensioni a elevato utilizzo di calcolo sono supportate solo in alcuni sistemi operativi.The RDMA and GPU capabilities of compute-intensive sizes are supported only in certain operating systems. A seconda del sistema operativo, potrebbe essere necessario installare o configurare altri driver o altro software.Depending on your operating system, you might need to install or configure additional driver or other software. Le tabelle seguenti riepilogano queste dipendenze.The following tables summarize these dependencies. Vedere gli articoli correlati per informazioni dettagliate.See linked articles for details. Per le opzioni per la configurazione di pool di Batch, vedere più avanti in questo articolo.For options to configure Batch pools, see later in this article.

Pool Linux - Configurazione della macchina virtualeLinux pools - Virtual machine configuration

DimensioneSize FunzionalitàCapability Sistemi operativiOperating systems Requisiti softwareRequired software Impostazioni poolPool settings
H16r, H16mr, A8, A9H16r, H16mr, A8, A9 RDMARDMA Ubuntu 16.04 LTS,Ubuntu 16.04 LTS,
HPC SUSE Linux Enterprise Server 12 oppureSUSE Linux Enterprise Server 12 HPC, or
HPC basato su CentOSCentOS-based HPC
(Azure Marketplace)(Azure Marketplace)
Intel MPI 5Intel MPI 5 Abilitare la comunicazione tra i nodi, disabilitare l'esecuzione di attività simultaneeEnable inter-node communication, disable concurrent task execution
Serie NC, NCv2, NCv3 e ND*NC, NCv2, NCv3, ND series* GPU NVIDIA Tesla (varia in base alla serie)NVIDIA Tesla GPU (varies by series) Ubuntu 16.04 LTS,Ubuntu 16.04 LTS,
Red Hat Enterprise Linux 7.3 o 7.4 oppureRed Hat Enterprise Linux 7.3 or 7.4, or
CentOS 7.3 o 7.4CentOS 7.3 or 7.4
(Azure Marketplace)(Azure Marketplace)
Driver NVIDIA CUDA ToolkitNVIDIA CUDA Toolkit drivers N/DN/A
Serie NVNV series GPU NVIDIA Tesla M60NVIDIA Tesla M60 GPU Ubuntu 16.04 LTS,Ubuntu 16.04 LTS,
Red Hat Enterprise Linux 7.3 oppureRed Hat Enterprise Linux 7.3, or
CentOS 7.3CentOS 7.3
(Azure Marketplace)(Azure Marketplace)
Driver NVIDIA GRIDNVIDIA GRID drivers N/DN/A

*Per la connettività RDMA su macchine virtuali serie N con supporto per RDMA possono essere necessarie operazioni di configurazione aggiuntive che variano in base alla distribuzione.*RDMA connectivity on RDMA-capable N-series VMs may require additional configuration that varies by distribution.

Pool Windows - Configurazione della macchina virtualeWindows pools - Virtual machine configuration

DimensioneSize FunzionalitàCapability Sistemi operativiOperating systems Requisiti softwareRequired software Impostazioni poolPool settings
H16r, H16mr, A8, A9H16r, H16mr, A8, A9 RDMARDMA Windows Server 2016, 2012 R2 oWindows Server 2016, 2012 R2, or
2012 (Azure Marketplace)2012 (Azure Marketplace)
Microsoft MPI 2012 R2 o versioni successive oppureMicrosoft MPI 2012 R2 or later, or
Intel MPI 5Intel MPI 5

Estensione di VM Azure HpcVMDriversHpcVMDrivers Azure VM extension
Abilitare la comunicazione tra i nodi, disabilitare l'esecuzione di attività simultaneeEnable inter-node communication, disable concurrent task execution
Serie NC, NCv2, NCv3 e ND*NC, NCv2, NCv3, ND series* GPU NVIDIA Tesla (varia in base alla serie)NVIDIA Tesla GPU (varies by series) Windows Server 2016 oppureWindows Server 2016 or
2012 R2 (Azure Marketplace)2012 R2 (Azure Marketplace)
Driver NVIDIA Tesla o CUDA ToolkitNVIDIA Tesla drivers or CUDA Toolkit drivers N/DN/A
Serie NVNV series GPU NVIDIA Tesla M60NVIDIA Tesla M60 GPU Windows Server 2016 oppureWindows Server 2016 or
2012 R2 (Azure Marketplace)2012 R2 (Azure Marketplace)
Driver NVIDIA GRIDNVIDIA GRID drivers N/DN/A

*La connettività RDMA nelle macchine virtuali serie N con supporto per RDMA è supportata in Windows Server 2016 o Windows Server 2012 R2 (da Azure Marketplace) con estensione HpcVMDrivers e Microsoft MPI o Intel MPI.*RDMA connectivity on RDMA-capable N-series VMs is supported on Windows Server 2016 or Windows Server 2012 R2 (from Azure Marketplace) with HpcVMDrivers extension and Microsoft MPI or Intel MPI.

Pool Windows - Configurazione servizi cloudWindows pools - Cloud services configuration

Nota

Le dimensioni serie N non sono supportate nei pool di Batch con la configurazione Servizi cloud.N-series sizes are not supported in Batch pools with the Cloud Service configuration.

DimensioneSize FunzionalitàCapability Sistemi operativiOperating systems Requisiti softwareRequired software Impostazioni poolPool settings
H16r, H16mr, A8, A9H16r, H16mr, A8, A9 RDMARDMA Windows Server 2016, 2012 R2, 2012 oWindows Server 2016, 2012 R2, 2012, or
2008 R2 (famiglia del sistema operativo guest)2008 R2 (Guest OS family)
Microsoft MPI 2012 R2 o versioni successive oppureMicrosoft MPI 2012 R2 or later, or
Intel MPI 5Intel MPI 5

Estensione di VM Azure HpcVMDriversHpcVMDrivers Azure VM extension
Abilitare la comunicazione tra i nodi,Enable inter-node communication,
disabilitare l'esecuzione di attività simultaneedisable concurrent task execution

Opzioni di configurazione poolPool configuration options

Per configurare una dimensione di macchina virtuale specializzata per il pool di Batch, le API e gli strumenti di Batch offrono diverse opzioni per installare il software o i driver, tra cui:To configure a specialized VM size for your Batch pool, the Batch APIs and tools provide several options to install required software or drivers, including:

  • Attività di avvio: caricare un pacchetto di installazione come file di risorse in un account di archiviazione di Azure nella stessa area dell'account Batch.Start task - Upload an installation package as a resource file to an Azure storage account in the same region as the Batch account. Creare una riga di comando di attività di avvio per installare automaticamente il file di risorse all'avvio del pool.Create a start task command line to install the resource file silently when the pool starts. Per altre informazioni, vedere la documentazione dell'API Rest.For more information, see the REST API documentation.

    Nota

    L'attività di avvio deve essere eseguita con autorizzazioni con privilegi elevati (amministratore) ed è necessario attendere l'esito positivo.The start task must run with elevated (admin) permissions, and it must wait for success.

  • Pacchetto dell'applicazione: aggiungere un pacchetto di installazione compresso all'account Batch e configurare un riferimento al pacchetto nel pool.Application package - Add a zipped installation package to your Batch account, and configure a package reference in the pool. Questa impostazione consente di caricare e decomprime il pacchetto in tutti i nodi del pool.This setting uploads and unzips the package on all nodes in the pool. Se il pacchetto è un programma di installazione, creare una riga di comando di attività di avvio per installare automaticamente l'app in tutti i nodi del pool.If the package is an installer, create a start task command line to silently install the app on all pool nodes. È anche possibile installare il pacchetto quando un'attività è pianificata per l'esecuzione in un nodo.Optionally, install the package when a task is scheduled to run on a node.

  • Immagine pool personalizzata: creare un'immagine personalizzata di VM Windows o Linux contenente driver, software o altre impostazioni necessarie per le dimensioni della VM.Custom pool image - Create a custom Windows or Linux VM image that contains drivers, software, or other settings required for the VM size.

  • Batch Shipyard configura automaticamente GPU e RDMA per usare in modo trasparente carichi di lavoro in contenitori in Azure Batch.Batch Shipyard automatically configures the GPU and RDMA to work transparently with containerized workloads on Azure Batch. Batch Shipyard si basa interamente su file di configurazione.Batch Shipyard is entirely driven with configuration files. Sono disponibili molte configurazioni di recipe di esempio che consentono carichi di lavoro GPU e RDMA, ad esempio il recipe CNTK GPU che preconfigura i driver GPU nelle macchine virtuali serie N e carica il software Microsoft Cognitive Toolkit come immagine Docker.There are many sample recipe configurations available that enable GPU and RDMA workloads such as the CNTK GPU Recipe which preconfigures GPU drivers on N-series VMs and loads Microsoft Cognitive Toolkit software as a Docker image.

Esempio: Microsoft MPI in un pool di VM A8Example: Microsoft MPI on an A8 VM pool

Per eseguire applicazioni Windows MPI in un pool di nodi A8 di Azure è necessario installare un'implementazione MPI supportata.To run Windows MPI applications on a pool of Azure A8 nodes, you need to install a supported MPI implementation. Di seguito è riportata la procedura per installare Microsoft MPI in un pool di Windows con un pacchetto di applicazione Batch.Here are sample steps to install Microsoft MPI on a Windows pool using a Batch application package.

  1. Scaricare il pacchetto di installazione (MSMpiSetup.exe) per la versione più recente di Microsoft MPI.Download the setup package (MSMpiSetup.exe) for the latest version of Microsoft MPI.
  2. Creare un file zip del pacchetto.Create a zip file of the package.
  3. Caricare il pacchetto nell'account Batch.Upload the package to your Batch account. Per istruzioni, vedere il materiale sussidiario sui pacchetti di applicazioni.For steps, see the application packages guidance. Specificare un ID applicazione, ad esempio MSMPI, e una versione come 8.1.Specify an application id such as MSMPI, and a version such as 8.1.
  4. Usando l'API Batch o il portale di Azure, creare un pool nella configurazione dei servizi cloud con il numero di nodi e la scalabilità desiderati.Using the Batch APIs or Azure portal, create a pool in the cloud services configuration with the desired number of nodes and scale. La tabella seguente illustra le impostazioni di esempio per installare MPI in modalità automatica con un'attività di avvio:The following table shows sample settings to set up MPI in unattended mode using a start task:
ImpostazioneSetting ValoreValue
Tipo di immagineImage Type Servizi cloudCloud Services
Famiglia del sistema operativoOS family Windows Server 2012 R2 (famiglia del sistema operativo 4)Windows Server 2012 R2 (OS family 4)
Dimensioni nodoNode size A8 StandardA8 Standard
Comunicazione tra nodi abilitataInternode communication enabled True True
Numero massimo di attività per ogni nodoMax tasks per node 11
Riferimenti ai pacchetti dell'applicazioneApplication package references MSMPIMSMPI
Attività di avvio abilitateStart task enabled True True
Riga di comando - "cmd /c %AZ_BATCH_APP_PACKAGE_MSMPI#8.1%\\MSMpiSetup.exe -unattend -force"Command line - "cmd /c %AZ_BATCH_APP_PACKAGE_MSMPI#8.1%\\MSMpiSetup.exe -unattend -force"
Identità utente: utente automatico pool, amministratoreUser identity - Pool autouser, admin
Attendere il completamento dell'operazione: TrueWait for success - True

Esempio: Driver NVIDIA Tesla in pool di VM NCExample: NVIDIA Tesla drivers on NC VM pool

Per eseguire applicazioni CUDA in un pool di nodi NC di Linux, è necessario installare CUDA Toolkit 9.0 nei nodi.To run CUDA applications on a pool of Linux NC nodes, you need to install CUDA Toolkit 9.0 on the nodes. Il Toolkit installa i driver GPU NVIDIA Tesla necessari.The Toolkit installs the necessary NVIDIA Tesla GPU drivers. Ecco i passaggi di esempio per distribuire un'immagine personalizzata Ubuntu 16.04 LTS con i driver GPU:Here are sample steps to deploy a custom Ubuntu 16.04 LTS image with the GPU drivers:

  1. Distribuire una macchina virtuale serie NC di Azure che esegue Ubuntu 16.04 LTS.Deploy an Azure NC-series VM running Ubuntu 16.04 LTS. È ad esempio possibile creare la macchina virtuale nell'area Stati Uniti centro-meridionali.For example, create the VM in the US South Central region. Assicurarsi di creare la macchina virtuale con un disco gestito.Make sure that you create the VM with a managed disk.
  2. Seguire questa procedura per connettersi alla macchina virtuale e installare i driver CUDA.Follow the steps to connect to the VM and install CUDA drivers.
  3. Effettuare il deprovisioning dell'agente Linux e quindi acquisire l'immagine della VM Linux.Deprovision the Linux agent, and then capture the Linux VM image.
  4. Creare un account in un'area che supporta le VM NC.Create a Batch account in a region that supports NC VMs.
  5. Usando l'API Batch o il portale di Azure, creare un pool usando l'immagine personalizzata e con il numero di nodi e la scalabilità desiderati.Using the Batch APIs or Azure portal, create a pool using the custom image and with the desired number of nodes and scale. La tabella seguente illustra le impostazioni di esempio del pool per l'immagine:The following table shows sample pool settings for the image:
ImpostazioneSetting ValoreValue
Tipo di immagineImage Type Immagine personalizzataCustom Image
Immagine personalizzataCustom Image Nome dell'immagineName of the image
SKU agente nodoNode agent SKU batch.node.ubuntu 16.04batch.node.ubuntu 16.04
Dimensioni nodoNode size NC6 StandardNC6 Standard

Passaggi successiviNext steps

  • Per eseguire processi MPI in un pool di Azure Batch, vedere gli esempi per Windows o Linux.To run MPI jobs on an Azure Batch pool, see the Windows or Linux examples.

  • Per esempi di carichi di lavoro GPU in Batch, vedere i recipe Batch Shipyard.For examples of GPU workloads on Batch, see the Batch Shipyard recipes.