Compartilhar via


Usar instâncias de GPU ou RDMA em pools do Lote

Para executar determinados trabalhos do Lote, é possível aproveitar os tamanhos de VM do Azure projetados para computação em grande escala. Por exemplo:

  • Para executar cargas de trabalho MPI de várias instâncias, escolha as séries HB, HC, NC ou ND ou outros tamanhos que tenham um adaptador de rede para Acesso Remoto Direto à Memória (RDMA). Esses tamanhos se conectam a uma rede InfiniBand para comunicação entre nós, o que pode acelerar aplicativos de MPI.

  • Para aplicativos CUDA, escolha os tamanhos da série N que incluem as placas GPU (unidade de processamento gráfico) NVIDIA Tesla.

Este artigo fornece diretrizes e exemplos para usar alguns dos tamanhos especializados do Azure nos pools do Lote. Para obter especificações e contexto, consulte:

  • Tamanhos de VM de computação de alto desempenho (Linux, Windows)

  • Tamanhos de VM habilitados para GPU (Linux, Windows)

Observação

Determinados tamanhos de VM podem não estar disponíveis nas regiões em que você cria as contas do Lote. Para verificar se um tamanho está disponível, consulte Produtos disponíveis por região e Escolher um tamanho de VM para um pool do Lote.

Dependências

Os recursos de GPU ou RDMA de tamanhos de computação intensiva no Lote têm suporte apenas em determinados sistemas operacionais. Os sistemas operacionais com suporte para esses tamanhos de VM incluem apenas um subconjunto daqueles disponíveis para criação de máquina virtual. Dependendo de como você cria o pool do Lotes, talvez seja necessário instalar ou configurar um driver adicional ou outro software nos nós. As tabelas a seguir resumem essas dependências. Consulte os artigos vinculados para obter detalhes. Para obter opções para configurar pools do Lote, veja mais adiante neste artigo.

Pools do Linux – configuração de máquina virtual

Tamanho Recurso Sistemas operacionais Software necessário Configurações do pool
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Ubuntu 22.04 LTS
(Azure Marketplace)
Intel MPI 5

Drivers de RDMA do Linux
Habilitar a comunicação entre nós, desabilitar a execução de tarefas simultâneas
Séries NCv3, NDv2, NDv4, NDv5 NVIDIA Tesla GPU (varia de acordo com a série) Ubuntu 22.04 LTS
(Azure Marketplace)
Drivers CUDA Toolkit ou NVIDIA CUDA N/D
Séries NVv3, NVv4, NVv5 GPU de Visualização Acelerada Ubuntu 22.04 LTS
(Azure Marketplace)
Drivers NVIDIA GRID (se necessário) N/D

*Os tamanhos da série N compatíveis com RDMA também incluem GPUs NVIDIA Tesla

Importante

Este documento faz referência a uma versão de lançamento do Linux que está se aproximando ou em Fim da Vida Útil(EOL). Considere atualizar para uma versão mais recente.

Pools do Windows – Configuração de Máquina Virtual

Tamanho Recurso Sistemas operacionais Software necessário Configurações do pool
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Windows Server 2016, 2012 R2 ou
2012 (Azure Marketplace)
Microsoft MPI 2012 R2 ou posterior, ou
Intel MPI 5

Drivers de RDMA do Windows
Habilitar a comunicação entre nós, desabilitar a execução de tarefas simultâneas
Séries NC, NCv2, NCv3, ND, NDv2 NVIDIA Tesla GPU (varia de acordo com a série) Windows Server 2016 ou
2012 R2 (Azure Marketplace)
Drivers CUDA Toolkit ou NVIDIA CUDA N/D
Séries NV, NVv2, NVv4 GPU NVIDIA Tesla M60 Windows Server 2016 ou
2012 R2 (Azure Marketplace)
Drivers NVIDIA GRID N/D

*Os tamanhos da série N compatíveis com RDMA também incluem GPUs NVIDIA Tesla

Pools do Windows – Configuração de Serviços de Nuvem

Aviso

Os pools de Configuração de Serviços de Nuvem foram preteridos. Como alternativa, use pools de Configuração de Máquina Virtual.

Tamanho Recurso Sistemas operacionais Software necessário Configurações do pool
H16r, H16mr RDMA Windows Server 2016, 2012 R2, 2012 ou
2008 R2 (família do SO convidado)
Microsoft MPI 2012 R2 ou posterior, ou
Intel MPI 5

Drivers de RDMA do Windows
Habilitar a comunicação entre nós,
desabilitar a execução de tarefas simultâneas

Observação

Os tamanhos da série N não são compatíveis com os pools de Configuração dos Serviços de Nuvem.

Opções de configuração do pool

Para configurar um tamanho de VM especializado para o pool do Lote, há várias opções para instalar o software ou drivers necessários:

  • Para pools na configuração da máquina virtual, escolha uma imagem de VM do Azure Marketplace pré-configurada que tenha drivers e software pré-instalados. Exemplos:

  • Máquina Virtual de Ciência de Dados para Linux ou Windows - inclui drivers NVIDIA CUDA

  • Imagens do Linux para cargas de trabalho de contêiner do Lote que também incluem drivers GPU e RDMA:

  • Ubuntu Server (com drivers GPU e RDMA) para pools de contêiner do Lote do Azure

  • Crie uma imagem personalizada da VM do Windows ou Linux na qual você instalou drivers, software ou outras configurações necessárias para o tamanho da VM.

  • Crie um pacote de aplicativo do Lote com base em um driver compactado ou instalador de aplicativo. Em seguida, configure o Lote para implantar esse pacote em nós de pool e instale uma vez quando cada nó for criado. Por exemplo, se o pacote de aplicativos for um instalador, crie uma linha de comando start task para instalar silenciosamente o aplicativo em todos os nós do pool. Considere usar um pacote de aplicativos e uma tarefa inicial de pool, se a carga de trabalho depender de uma versão de driver específica.

    Observação

    A tarefa inicial deve ser executada com permissões elevadas (administrador) e ela deve aguardar o êxito. Tarefas de execução longa aumentarão o tempo para provisionar um pool do Lote.

Exemplo: Drivers GPU NVIDIA no pool de VM da NC do Windows

Para executar aplicativos CUDA em um pool de nós do Windows NC, você precisa instalar drivers de GPU NVIDIA. As etapas de exemplo a seguir usam um pacote de aplicativos para instalar os drivers GPU NVIDIA. Será possível escolher essa opção, se a carga de trabalho depender de uma versão específica do driver GPU.

  1. Baixe um pacote de instalação dos drivers GPU no Windows Server 2016 pelo Site da NVIDIA - por exemplo, versão 411.82. Salve o arquivo localmente usando um nome curto como GPUDriverSetup.exe.
  2. Crie um arquivo zip do pacote.
  3. Carregue o pacote na sua conta do Lote. Para obter as etapas, consulte as diretrizes sobre pacotes de aplicativos. Especifique uma ID de aplicativo como GPUDriver e uma versão como 411.82.
  4. Usando as APIs do Lote ou o portal do Azure, crie um pool na configuração da máquina virtual com o número desejado de nós e escala. A tabela a seguir mostra as configurações de exemplo para instalar os drivers GPU NVIDIA silenciosamente usando uma tarefa inicial:
Configuração Valor
Tipo de imagem Marketplace (Linux/Windows)
Publicador MicrosoftWindowsServer
Oferta WindowsServer
Sku 2016-Datacenter
Tamanho do nó NC6 Standard
Referências do pacote de aplicativos GPUDriver, versão 411.82
Tarefa inicial habilitada True
Linha de comando - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"
Identidade de usuário – Pool autouser, administrador
Aguardar o êxito – True

Exemplo: Drivers GPU NVIDIA no pool de VM da NC do Linux

Para executar aplicativos CUDA em um conjunto de nós da NC do Linux, é necessário instalar os drivers GPU NVIDIA Tesla necessários do CUDA Toolkit. As seguintes etapas de exemplo criam e implantam uma imagem personalizada do Ubuntu 22.04 LTS com os drivers de GPU:

  1. Implante uma VM do Azure série NC executando Ubuntu 22.04 LTS. Por exemplo, crie a VM na região Centro-Sul dos EUA.
  2. Adicione a extensão dos drivers GPU NVIDIA à VM, usando o portal do Azure, um computador cliente que conecta-se à assinatura do Azure ou ao Azure Cloud Shell. Como alternativa, siga as etapas para conectar a VM e instalar os drivers manualmente.
  3. Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Lote.
  4. Crie uma conta do Lote em uma região que dá suporte a VMs NC.
  5. Usando as APIs do Lote ou o Portal do Azure, crie um pool usando a imagem personalizada com o número de nós e escala desejados. A tabela a seguir mostra configurações de exemplo do pool para a imagem:
Configuração Valor
Tipo de imagem Imagem personalizada
Imagem personalizada Nome da imagem
SKU do agente do nó batch.node.ubuntu 22.04
Tamanho do nó NC6 Standard

Exemplo: Microsoft MPI em um pool de VM do Windows H16r

Para executar aplicativos Windows MPI em um pool de nós de VM do Azure H16r, é necessário configurar a extensão HpcVmDrivers e instalar o Microsoft MPI. A seguir, são apresentados exemplos de etapas para implantar uma imagem personalizada do Windows Server 2016 com os drivers e softwares necessários:

  1. Implante uma VM do Azure H16r em execução no Windows Server 2016. Por exemplo, crie a VM na região Oeste dos EUA.
  2. Adicione a extensão HpcVmDrivers à VM, executando um comando do Azure PowerShell de um computador cliente que conecta-se à assinatura do Azure ou usando o Azure Cloud Shell.
  3. Faça uma conexão de Área de Trabalho Remota para a VM.
  4. Baixe o pacote de instalação (MSMpiSetup.exe) da última versão do Microsoft MPI e, em seguida, instale o Microsoft MPI.
  5. Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Lote.
  6. Usando as APIs do Lote ou o portal do Azure, crie um pool usando a Galeria de Computação do Azure com o número de nós e escala desejados. A tabela a seguir mostra configurações de exemplo do pool para a imagem:
Configuração Valor
Tipo de imagem Imagem personalizada
Imagem personalizada Nome da imagem
SKU do agente do nó batch.node.windows amd64
Tamanho do nó H16r Standard
Comunicação entre nós habilitada True
Máx. de tarefas por nó 1

Próximas etapas

  • Para executar trabalhos MPI em um pool do Lote do Azure, consulte os exemplos do Windows ou Linux.