Usar instâncias RDMA ou GPU em pools de lotes
Para executar determinados trabalhos em lote, você pode aproveitar os tamanhos de VM do Azure projetados para computação em larga 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 uma interface de rede para RDMA (Acesso Remoto Direto à Memória). Esses tamanhos se conectam a uma rede InfiniBand para comunicação entre nós, o que pode acelerar aplicativos MPI.
Para aplicações CUDA, escolha tamanhos da série N que incluam placas de unidade de processamento gráfico (GPU) NVIDIA Tesla.
Este artigo fornece orientações e exemplos para usar alguns dos tamanhos especializados do Azure em pools de lotes. Para especificações e antecedentes, consulte:
Nota
Determinados tamanhos de VM podem não estar disponíveis nas regiões onde você cria suas contas de lote. Para verificar se um tamanho está disponível, consulte Produtos disponíveis por região e Escolha um tamanho de VM para um pool de lotes.
Dependências
Os recursos RDMA ou GPU de tamanhos de computação intensiva em Batch são suportados apenas em determinados sistemas operacionais. Os sistemas operacionais suportados para esses tamanhos de VM incluem apenas um subconjunto daqueles disponíveis para a criação de máquinas virtuais. Dependendo de como você cria seu pool de lotes, talvez seja necessário instalar ou configurar driver extra 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 de lotes, consulte mais adiante neste artigo.
Pools Linux - Configuração de máquinas virtuais
Tamanho | Funcionalidade | Sistemas operativos | Software necessário | Definições do conjunto |
---|---|---|---|---|
H16r, H16mr NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Ubuntu 22.04 LTS (Azure Marketplace) |
Intel MPI 5 Drivers RDMA Linux |
Habilitar a comunicação entre nós, desabilitar a execução simultânea de tarefas |
Série NCv3, NDv2, NDv4, NDv5 | GPU Tesla NVIDIA (varia de acordo com a série) | Ubuntu 22.04 LTS (Azure Marketplace) |
Drivers NVIDIA CUDA ou CUDA Toolkit | N/A |
NVv3, NVv4, NVv5 séries | GPU de visualização acelerada | Ubuntu 22.04 LTS (Azure Marketplace) |
Drivers NVIDIA GRID (se necessário) | N/A |
*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). Por favor, considere atualizar para uma versão mais atual.
Pools do Windows - Configuração da Máquina Virtual
Tamanho | Funcionalidade | Sistemas operativos | Software necessário | Definições do conjunto |
---|---|---|---|---|
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 RDMA do Windows |
Habilitar a comunicação entre nós, desabilitar a execução simultânea de tarefas |
Série NC, NCv2, NCv3, ND, NDv2 | GPU Tesla NVIDIA (varia de acordo com a série) | Windows Server 2016 ou 2012 R2 (Azure Marketplace) |
Drivers NVIDIA CUDA ou CUDA Toolkit | N/A |
NV, NVv2, NVv4 séries | NVIDIA Tesla M60 GPU | Windows Server 2016 ou 2012 R2 (Azure Marketplace) |
Drivers NVIDIA GRID | N/A |
*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. Em vez disso, use pools de Configuração de Máquina Virtual.
Tamanho | Funcionalidade | Sistemas operativos | Software necessário | Definições do conjunto |
---|---|---|---|---|
H16r, H16mr | RDMA | Windows Server 2016, 2012 R2, 2012 ou 2008 R2 (família de SO convidado) |
Microsoft MPI 2012 R2 ou posterior, ou Intel MPI 5 Drivers RDMA do Windows |
Habilite a comunicação entre nós, Desativar a execução simultânea de tarefas |
Nota
Não há suporte para tamanhos da série N em pools de Configuração de Serviços de Nuvem.
Opções de configuração do pool
Para configurar um tamanho de VM especializado para seu pool de lotes, você tem várias opções para instalar o software ou os 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:
Data Science Virtual Machine para Linux ou Windows - inclui drivers NVIDIA CUDA
Imagens Linux para cargas de trabalho de contêiner em lote que também incluem drivers GPU e RDMA:
Ubuntu Server (com drivers GPU e RDMA) para pools de contêineres do Azure Batch
Crie uma imagem personalizada de VM do Windows ou Linux com drivers, software ou outras configurações necessárias para o tamanho da VM.
Crie um pacote de aplicativo em lote a partir de um driver compactado ou instalador de aplicativo. Em seguida, configure o Batch para implantar este pacote em nós de pool e instalar uma vez quando cada nó for criado. Por exemplo, se o pacote do aplicativo for um instalador, crie uma linha de comando de tarefa inicial para instalar silenciosamente o aplicativo em todos os nós do pool. Considere usar um pacote de aplicativo e uma tarefa de início de pool se sua carga de trabalho depender de uma versão específica do driver.
Nota
A tarefa de início deve ser executada com permissões elevadas (admin) e deve aguardar o êxito. Tarefas de execução longa aumentarão o tempo para provisionar um pool de lotes.
Exemplo: drivers de GPU NVIDIA no pool de VMs do Windows NC
Para executar aplicativos CUDA em um pool de nós NC do Windows, você precisa instalar drivers de GPU NVIDIA. As etapas de exemplo a seguir usam um pacote de aplicativo para instalar os drivers de GPU NVIDIA. Você pode escolher essa opção se sua carga de trabalho depender de uma versão específica do driver da GPU.
- Transfira um pacote de configuração para os controladores GPU no Windows Server 2016 a partir do Web site da NVIDIA - por exemplo, versão 411.82. Salve o arquivo localmente usando um nome curto como GPUDriverSetup.exe.
- Crie um arquivo zip do pacote.
- Carregue o pacote para a sua conta Batch. Para conhecer as etapas, consulte as diretrizes de pacotes de aplicativos. Especifique um ID de aplicativo, como GPUDriver, e uma versão, como 411.82.
- Usando as APIs de 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 configurações de exemplo para instalar os drivers de GPU NVIDIA silenciosamente usando uma tarefa de início:
Definição | Value |
---|---|
Tipo de Imagem | Marketplace (Linux/Windows) |
Fabricante | MicrosoftWindowsServer |
Oferta | WindowsServer |
Sku | 2016-Datacenter |
Tamanho do nó | Padrão NC6 |
Referências do pacote de aplicativos | GPUDriver, versão 411.82 |
Iniciar tarefa ativada | True Linha de comandos - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s" Identidade do usuário - Pool autouser, admin Espere pelo sucesso - True |
Exemplo: drivers de GPU NVIDIA em um pool de VMs Linux NC
Para executar aplicativos CUDA em um pool de nós Linux NC, você precisa instalar os drivers de GPU NVIDIA Tesla necessários a partir do CUDA Toolkit. As seguintes etapas de exemplo criam e implantam uma imagem personalizada do Ubuntu 22.04 LTS com os drivers da GPU:
- Implante uma VM da série NC do Azure executando o Ubuntu 22.04 LTS. Por exemplo, crie a VM na região Centro-Sul dos EUA.
- Adicione a extensão NVIDIA GPU Drivers à VM usando o portal do Azure, um computador cliente que se conecta à assinatura do Azure ou o Azure Cloud Shell. Como alternativa, siga as etapas para se conectar à VM e instalar os drivers CUDA manualmente.
- Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Batch.
- Crie uma conta em lote em uma região que ofereça suporte a VMs NC.
- Usando as APIs de lote ou o portal do Azure, crie um pool usando a imagem personalizada e com o número desejado de nós e escala. A tabela a seguir mostra as configurações de pool de exemplo para a imagem:
Definição | Value |
---|---|
Tipo de Imagem | Imagem Personalizada |
Imagem personalizada | Nome da imagem |
Agente de nó SKU | batch.node.ubuntu 22,04 |
Tamanho do nó | Padrão NC6 |
Exemplo: Microsoft MPI em um pool de VMs do Windows H16r
Para executar aplicativos MPI do Windows em um pool de nós de VM H16r do Azure, você precisa configurar a extensão HpcVmDrivers e instalar o Microsoft MPI. Aqui estão etapas de exemplo para implantar uma imagem personalizada do Windows Server 2016 com os drivers e o software necessários:
- Implante uma VM do Azure H16r executando o Windows Server 2016. Por exemplo, crie a VM na região Oeste dos EUA.
- Adicione a extensão HpcVmDrivers à VM executando um comando do Azure PowerShell a partir de um computador cliente que se conecta à sua assinatura do Azure ou usando o Azure Cloud Shell.
- Faça uma conexão de Área de Trabalho Remota com a VM.
- Baixe o pacote de instalação (MSMpiSetup.exe) para a versão mais recente do Microsoft MPI e instale o Microsoft MPI.
- Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Batch.
- Usando as APIs de lote ou o portal do Azure, crie um pool usando a Galeria de Computação do Azure e com o número desejado de nós e escala. A tabela a seguir mostra as configurações de pool de exemplo para a imagem:
Definição | Value |
---|---|
Tipo de Imagem | Imagem Personalizada |
Imagem personalizada | Nome da imagem |
Agente de nó SKU | amd64 em lote.node.windows |
Tamanho do nó | Padrão H16r |
Comunicação de internode ativada | True |
Máximo de tarefas por nó | 1 |