VM (máquina virtual) da GPU (unidade de processamento gráfico) no Azure Stack Hub
Este artigo descreve quais modelos de GPU (unidade de processamento gráfico) têm suporte em um sistema integrado do Azure Stack Hub. O artigo também contém instruções sobre como instalar os drivers usados com as GPUs. O suporte a 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ê deve 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 apresenta 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, as sucessoras 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 outros.
Tamanho | vCPU | Memória: GiB | Armazenamento temporário (GiB) | Discos de dados máximos | GPU | GiB de memória da GPU | Máximo de NICs |
---|---|---|---|---|---|---|---|
Standard_NC24ads_A100_v4 | 24 | 220 | 1123 | 12 | 1 | 80 | 2 |
Standard_NC48ads_A100_v4 | 48 | 440 | 2.246 | 24 | 2 | 160 | 4 |
NC_L40S v4
Tamanho | vCPU | Memória: GiB | Armazenamento temporário (GiB) | Discos de dados máximos | GPU | GiB de memória da GPU | Máximo de NICs |
---|---|---|---|---|---|---|---|
Standard_NC24ads_L40S_v4 | 24 | 220 | 1123 | 8 | 1 | 80 | 2 |
Standard_NC48ads_L40S_v4 | 48 | 440 | 2.246 | 16 | 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). Os preferidos são: 1, 2 e 4.
- Todas as GPUs devem ser exatamente do mesmo 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 da GPU (para AMD Mi25) precisa ser o mesmo em todas as VMs de GPU na unidade de escala.
Planejamento da capacidade
O planejador de capacidade do Azure Stack Hub foi atualizado para dar suporte a configurações de GPU. Está acessível aqui.
Adicionando GPUs em um Azure Stack Hub existente
O Azure Stack Hub agora dá suporte à adição de GPUs a qualquer sistema existente. Para adicionar uma GPU, 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 deverão ser stop-deallocated
reiniciadas.
Patch e atualização, comportamento de FRU de VMs
As VMs de GPU passam por tempo de inatividade durante operações como PnU (patch e atualização) 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 operação manual. A VM fica automaticamente online após a atualização. | Indisponível durante a FRU. Pode ser disponibilizado com operação manual. A VM precisa ser ativada novamente após a 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 volta 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 interrompida e reiniciada durante a FRU. Após a conclusão da FRU, a VM deve estar stop-deallocated usando o botão Parar e, em seguida, reiniciada usando o botão Iniciar . |
Instalação do driver convidado
Os seguintes cmdlets do PowerShell podem ser usados para 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ê deve substituir esses valores pelas 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 e posterior | 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 etapas sobre como verificar a instalação do driver.
Desconectado
Como a extensão efetua pull do driver de um local na Internet, uma VM desconectada da rede externa não pode acessá-la. Você pode baixar o driver da tabela anterior e carregar em uma conta de armazenamento em sua rede local que seja acessível à VM.
Adicione o driver AMD a uma conta de armazenamento e especifique o 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/visualização GRID
Esse cenário requer o uso de drivers GRID. Os drivers GRID podem ser baixados por meio do NVIDIA Application Hub, desde que você tenha as licenças necessárias. Os drivers GRID também exigem um servidor de licenças 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
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ê deve fazer referência a alguns URLs para suas configurações:
URL | Observações |
---|---|
PUBKEY_URL | O PUBKEY_URL é a chave pública para o repositório de driver da Nvidia, não para a VM do Linux. É usado para instalar o driver para o Ubuntu. |
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. |
Adicione os 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"
}