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:
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.
- 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.
- Crie um arquivo zip do pacote.
- 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.
- 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:
- 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.
- 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.
- Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Lote.
- Crie uma conta do Lote em uma região que dá suporte a VMs NC.
- 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:
- Implante uma VM do Azure H16r em execução no 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 de um computador cliente que conecta-se à assinatura do Azure ou usando o Azure Cloud Shell.
- Faça uma conexão de Área de Trabalho Remota para a VM.
- Baixe o pacote de instalação (MSMpiSetup.exe) da última versão do Microsoft MPI e, em seguida, instale o Microsoft MPI.
- Siga as etapas para criar uma imagem da Galeria de Computação do Azure para o Lote.
- 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 |