VM (máquina virtual) da GPU (unidade de processamento gráfico) no Azure Stack Hub

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de Fim da Vida Útil (EOL). Considere seu uso e plano adequadamente. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Este artigo descreve quais modelos de GPU (unidade de processamento gráfico) têm suporte em um sistema integrado do Azure Stack Hub. Você também pode encontrar instruções sobre como instalar os drivers usados com as GPUs. O suporte à GPU no Azure Stack Hub permite soluções como inteligência artificial, treinamento, inferência e visualização de dados. O AMD Radeon Instinct MI25 pode ser usado para dar suporte a aplicativos com uso intensivo de gráficos, como o Autodesk AutoCAD.

Você pode escolher entre três modelos de GPU. Eles estão disponíveis nas GPUs NVIDIA V100, NVIDIA T4 e AMD MI25. Essas GPUs físicas se alinham com os seguintes tipos de VM (máquina virtual) da Série N do Azure da seguinte maneira:

Aviso

Não há suporte para VMs de GPU nesta versão. Você precisará atualizar para o Azure Stack Hub 2005 ou posterior. Além disso, o hardware do Azure Stack Hub deve ter GPUs físicas.

NCv3

VMs da série NCv3 têm a tecnologia de GPUs NVIDIA Tesla V100. Os clientes podem aproveitar essas GPUs atualizadas para cargas de trabalho HPC tradicionais como modelagem de reservatório, sequenciamento de DNA, análise de proteína, simulações de Monte Carlo, entre outros.

Tamanho vCPU Memória: GiB Armazenamento temporário (SSD) GiB GPU Memória da GPU: GiB Discos de dados máximos Máximo de NICs
Standard_NC6s_v3 6 112 736 1 16 12 4
Standard_NC12s_v3 12 224 1474 2 32 24 8
Standard_NC24s_v3 24 448 2948 4 64 32 8

NVv4

As máquinas virtuais da série NVv4 usam a plataforma de GPUs AMD Radeon Instinct MI25. Com a série NVv4, o Azure Stack Hub está apresentando máquinas virtuais com GPUs parciais. Esse tamanho pode ser usado para aplicativos gráficos acelerados por GPU e áreas de trabalho virtuais. Atualmente, as máquinas virtuais NVv4 dão suporte apenas ao sistema operacional convidado do Windows.

Tamanho vCPU Memória: GiB Armazenamento temporário (SSD) GiB GPU Memória da GPU: GiB Discos de dados máximos Máximo de NICs
Standard_NV4as_v4 4 14 88 1/8 2 4 2
Standard_NV8as_v4 8 28 176 1/4 4 8 4
Standard_NV16as_v4 16 56 352 1/2 8 16 8
Standard_NV32as_v4 32 112 704 1 16 32 8

NCasT4_v3

Tamanho vCPU Memória: GiB GPU Memória da GPU: GiB Discos de dados máximos Máximo de NICs
Standard_NC4as_T4_v3 4 28 1 16 8 4
Standard_NC8as_T4_v3 8 56 1 16 16 8
Standard_NC16as_T4_v3 16 110 1 16 32 8
Standard_NC64as_T4_v3 64 440 4 64 32 8

NC_A100 v4

As VMs da série NC_A100 são alimentadas por GPUs NVIDIA Ampere A100, sucessora das GPUs Tesla V100. Você pode aproveitar essas GPUs atualizadas para cargas de trabalho tradicionais de HPC, como modelagem de reservatório, sequenciamento de DNA, análise de proteínas, simulações de Monte Carlo e outras.

Tamanho vCPU Memória: GiB Armazenamento temporário (GiB) Discos de dados máximos GPU GiB de memória de GPU Máximo de NICs
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

Considerações sobre o sistema de GPU

  • A GPU deve ser uma destas SKUs: AMD MI-25, Nvidia V100 (e variantes), Nvidia T4.
  • Número de GPUs por servidor com suporte (1, 2, 3, 4). As preferências são: 1, 2 e 4.
  • Todas as GPUs devem ser exatamente da mesma SKU em toda a unidade de escala.
  • Todas as quantidades de GPU por servidor devem ser as mesmas em toda a unidade de escala.
  • O tamanho da partição de GPU (para AMD Mi25) precisa ser o mesmo em todas as VMs de GPU na unidade de escala.

planejamento de capacidade

O planejador de capacidade do Azure Stack Hub foi atualizado para dar suporte a configurações de GPU. Ele é acessível em https://aka.ms/azstackcapacityplanner.

Adicionando GPUs em um Azure Stack Hub existente

O Azure Stack Hub agora dá suporte à adição de GPUs a qualquer sistema existente. Para fazer isso, execute stop-azurestack, execute o procedimento de stop-azurestack, adicione GPUs e execute start-azurestack até a conclusão. Se o sistema já tiver GPUs, todas as VMs de GPU criadas anteriormente precisarão ser desalocadas e reiniciadas.

Patch e atualização, comportamento de FRU de VMs

As VMs de GPU passarão por tempo de inatividade durante operações como patch e atualização (PnU) e FRU (substituição de hardware) do Azure Stack Hub. A tabela a seguir aborda o estado da VM, conforme observado durante essas atividades e a ação manual que você pode fazer para disponibilizar essas VMs após a operação.

Operação PnU – Atualização completa, atualização do OEM FRU
Estado da VM Indisponível durante a atualização. Pode ser disponibilizado com a operação manual. A VM é automaticamente online após a atualização. Indisponível durante a FRU. Pode ser disponibilizado com a operação manual. A VM precisa ser acionada novamente após o FRU
Operação manual Se a VM precisar ser disponibilizada durante a atualização, se houver partições de GPU disponíveis, a VM poderá ser reiniciada no portal clicando no botão Reiniciar . A VM retornará automaticamente após a atualização A VM não está disponível durante a FRU. Se houver GPUs disponíveis, a VM poderá ser desalocada e reiniciada durante a FRU. Após a conclusão da FRU, a VM precisa ser desalocada usando o botão Parar e iniciada a fazer backup usando o botão Iniciar .

Instalação do driver convidado

Os seguintes cmdlets do PowerShell podem ser usados para a instalação do driver:

$VmName = <VM Name In Portal>
$ResourceGroupName = <Resource Group of VM>
$Location = "redmond"
$driverName = <Give a name to the driver>
$driverPublisher = "Microsoft.HpcCompute"
$driverType = <Specify Driver Type> #GPU Driver Types: "NvidiaGpuDriverWindows"; "NvidiaGpuDriverLinux"; "AmdGpuDriverWindows"
$driverVersion = <Specify Driver Version> #Nvidia Driver Version:"1.3"; AMD Driver Version:"1.0"

Set-AzureRmVMExtension  -Location $Location `
                            -Publisher $driverPublisher `
                            -ExtensionType $driverType `
                            -TypeHandlerVersion $driverVersion `
                            -VMName $VmName `
                            -ResourceGroupName $ResourceGroupName `
                            -Name $driverName `
                            -Settings $Settings ` # If no settings are set, omit this parameter
                            -Verbose

Dependendo do sistema operacional, do tipo e da conectividade da VM de GPU do Azure Stack Hub, você precisará modificar com as configurações abaixo.

AMD MI25

A versão do driver convidado deve corresponder à versão do Azure Stack Hub, independentemente do estado de conectividade. O uso de versões mais recentes não alinhadas com a versão do Azure Stack Hub pode causar problemas de usabilidade.

Versão do Azure Stack Hub Driver convidado AMD
2206 21.Q2-1, 20.Q4-1
2108 21.Q2-1, 20.Q4-1
2102 21.Q2-1, 20.Q4-1

Conectado

Use o script do PowerShell na seção anterior com o tipo de driver apropriado para AMD. O artigo Instalar drivers de GPU AMD em VMs da série N que executam o Windows fornece instruções sobre como instalar o driver para o AMD Radeon Instinct MI25 dentro da VM habilitada para GPU-P NVv4, juntamente com as etapas sobre como verificar a instalação do driver.

Desconectado

Como a extensão extrai o driver de um local na Internet, uma VM desconectada da rede externa não pode acessá-lo. Você pode baixar o driver da tabela anterior e carregar em uma conta de armazenamento em sua rede local acessível para a VM.

Adicione o driver AMD a uma conta de armazenamento e especifique a URL para essa conta em Settings. Essas configurações devem ser usadas no cmdlet Set-AzureRMVMExtension . Por exemplo:

$Settings = @{
"DriverURL" = <URL to driver in storage account>
}

NVIDIA

Os drivers NVIDIA devem ser instalados dentro da máquina virtual para cargas de trabalho CUDA ou GRID usando a GPU.

Caso de uso: gráficos/grade de visualização

Esse cenário requer o uso de drivers GRID. Os drivers GRID podem ser baixados por meio do Hub de Aplicativos NVIDIA, desde que você tenha as licenças necessárias. Os drivers GRID também exigem um servidor de licença GRID com licenças GRID apropriadas antes de usar os drivers GRID na VM.

$Settings = @{
"DriverURL" = "https://download.microsoft.com/download/e/8/2/e8257939-a439-4da8-a927-b64b63743db1/431.79_grid_win10_server2016_server2019_64bit_international.exe"; "DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="GRID"
}

Caso de uso: computação/CUDA – Conectado

Os drivers cuda não precisam de um servidor de licença e não precisam de configurações modificadas.

Caso de uso: computação/CUDA – Desconectado

Os links para drivers NVIDIA CUDA podem ser obtidos usando o link: https://raw.githubusercontent.com/Azure/azhpc-extensions/master/NvidiaGPU/resources.json

Windows:

$Settings = @{
"DriverURL" = "";
"DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="CUDA"
}

Linux:

Você precisará referenciar algumas URLs para suas configurações.

URL Observações
PUBKEY_URL O PUBKEY_URL é a chave pública para o repositório de driver Nvidia não para a VM linux. Ele é usado para instalar o driver do Ubuntu.
DKMS_URL DKMS_URL é usado para obter o pacote para compilar o módulo kernel Nvidia em RedHat/CentOs.
DRIVER_URL DRIVER_URL é a URL para baixar as informações do repositório do driver Nvidia e é adicionada à lista de repositórios da VM do Linux.
LIS_URL LIS_URL é a URL para baixar o pacote do Linux Integration Service para RedHat/CentOs, Linux Integration Services v4.3 para Hyper-V e Azure na URL https://www.microsoft.com/download/details.aspx?id=55106 por padrão ele não está instalado LIS_RHEL_ver é a versão do kernel de fallback que deve funcionar com o driver Nvidia. Ele será usado em RedHat/CentOs se o kernel da VM do Linux não for compatível com o driver Nvidia solicitado.

Adicione as URLs às suas configurações.

$Settings=@{
"isCustomInstall"=$true;
"DRIVER_URL"="https://go.microsoft.com/fwlink/?linkid=874273";
"CUDA_ver"="10.0.130";
"PUBKEY_URL"="http://download.microsoft.com/download/F/F/A/FFAC979D-AD9C-4684-A6CE-C92BB9372A3B/7fa2af80.pub";
"DKMS_URL"="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm";
"LIS_URL"="https://aka.ms/lis";
"LIS_RHEL_ver"="3.10.0-1062.9.1.el7"
}

Próximas etapas