Partilhar via


Extensão dos Controladores GPU NVIDIA para Linux

Atenção

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

Esta extensão instala drivers de GPU NVIDIA em máquinas virtuais (VMs) Linux série N. Dependendo da família VM, a extensão instala drivers CUDA ou GRID. Ao instalar drivers NVIDIA usando esta extensão, você está aceitando e concordando com os termos do Contrato de Licença de Usuário Final da NVIDIA. Durante o processo de instalação, a VM pode reinicializar para concluir a configuração do driver.

Instruções sobre a instalação manual dos drivers e as versões atuais suportadas estão disponíveis. Uma extensão também está disponível para instalar drivers de GPU NVIDIA em VMs da série N do Windows.

Nota

Com o Arranque Seguro ativado, todos os componentes de inicialização do SO (carregador de inicialização, kernel, controladores do kernel) devem ser assinados por editores fidedignos (chave fidedigna do sistema). A Inicialização Segura não é suportada usando extensões Windows ou Linux. Para obter mais informações sobre como instalar manualmente drivers de GPU com a Inicialização Segura habilitada, consulte Configuração do driver de GPU da série N do Azure para Linux.

Nota

As extensões de driver da GPU não atualizam automaticamente o driver após a instalação da extensão. Se você precisar mover para uma versão mais recente do driver, em seguida, manualmente baixar e instalar o driver ou remover e adicionar a extensão novamente.

Pré-requisitos

Sistema operativo

Esta extensão suporta as seguintes distros do SO, dependendo do suporte do driver para a versão específica do SO:

Distribuição Versão
Linux Ubuntu: 20,04 LTS
Linux: Red Hat Enterprise Linux 7,9
Linux: CentOS 7

Nota

Os drivers CUDA suportados mais recentes para VMs da série NC são atualmente 470.82.01. Versões posteriores do driver não são suportadas nas placas K80 no NC. Enquanto a extensão está sendo atualizada com este fim do suporte para NC, instale drivers CUDA manualmente para placas K80 na série NC.

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.

Ligação à Internet

A Extensão do Microsoft Azure para Drivers de GPU NVIDIA requer que a VM de destino esteja conectada à Internet e tenha acesso.

Esquema de extensão

O JSON a seguir mostra o esquema para a extensão:

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Propriedades

Nome Valor/Exemplo Tipo de dados
apiVersion 2015-06-15 data
editora Microsoft.HpcCompute string
tipo NvidiaGpuDriverLinux string
typeHandlerVersion 1.6 número inteiro

Definições

Todas as configurações são opcionais. O comportamento padrão é não atualizar o kernel se não for necessário para a instalação do driver e instalar o driver suportado mais recente e o kit de ferramentas CUDA (conforme aplicável).

Nome Descrição Default value Valores válidos Tipo de dados
updateOS [en] Atualize o kernel mesmo que não seja necessário para a instalação do driver. false TRUE, false boolean
driverVersão NV: Versão do driver GRID.
NC/ND: Versão do kit de ferramentas CUDA. Os drivers mais recentes para o CUDA escolhido são instalados automaticamente.
mais recente Lista de versões de driver suportadas string
installCUDA Instale o kit de ferramentas CUDA. Apenas relevante para VMs da série NC/ND. verdadeiro TRUE, false boolean

Implementação

Portal do Azure

Você pode implantar extensões de VM do Azure NVIDIA no portal do Azure.

  1. Num browser, aceda ao Portal do Azure.

  2. Vá para a máquina virtual na qual você deseja instalar o driver.

  3. No menu à esquerda, selecione Extensões.

    Captura de tela que mostra a seleção de Extensões no menu do portal do Azure.

  4. Selecione Adicionar.

    Captura de tela que mostra a adição de uma extensão V M para o V M selecionado.

  5. Desloque-se para localizar e selecionar NVIDIA GPU Driver Extension e, em seguida, selecione Next.

    Captura de tela que mostra a seleção de NVIDIA G P U Driver Extension.

  6. Selecione Rever + criar e selecione Criar. Aguarde alguns minutos para que o driver seja implantado.

    Captura de ecrã que mostra a seleção do botão Rever + criar.

  7. Verifique se a extensão foi adicionada à lista de extensões instaladas.

    Captura de tela que mostra a nova extensão na lista de extensões para o V M.

Modelo Azure Resource Manager

Você pode usar modelos do Azure Resource Manager para implantar extensões de VM do Azure. Os modelos são ideais quando você implanta uma ou mais máquinas virtuais que exigem configuração pós-implantação.

A configuração JSON para uma extensão de máquina virtual pode ser aninhada dentro do recurso de máquina virtual ou colocada no nível raiz ou superior de um modelo JSON do Gerenciador de Recursos. O posicionamento da configuração JSON afeta o valor do nome e do tipo de recurso. Para obter mais informações, consulte Definir nome e tipo para recursos filho.

O exemplo a seguir pressupõe que a extensão esteja aninhada dentro do recurso de máquina virtual. Quando o recurso de extensão é aninhado, o JSON é colocado no "resources": [] objeto da máquina virtual.

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

CLI do Azure

O exemplo a seguir espelha os exemplos anteriores do Resource Manager e do PowerShell:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

O exemplo a seguir também adiciona duas configurações personalizadas opcionais como um exemplo para a instalação de driver não padrão. Especificamente, ele atualiza o kernel do sistema operacional para o mais recente e instala um driver de versão específico do kit de ferramentas CUDA. Novamente, observe que são --settings opcionais e padrão. Atualizar o kernel pode aumentar os tempos de instalação da extensão. Além disso, escolher uma versão específica (mais antiga) do kit de ferramentas CUDA pode nem sempre ser compatível com kernels mais recentes.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Solução de problemas e suporte

Resolver problemas

Você pode recuperar dados sobre o estado das implantações de extensão no portal do Azure e usando o Azure PowerShell e a CLI do Azure. Para ver o estado de implantação das extensões de uma determinada VM, execute o seguinte comando:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

A saída de execução da extensão é registrada no arquivo a seguir. Consulte este ficheiro para controlar o estado de qualquer instalação de longa duração e para resolver quaisquer falhas.

/var/log/azure/nvidia-vmext-status

Códigos de saída

Código de saída Significado Ação possível
0 Operação bem-sucedida
1 Uso incorreto da extensão Verifique o log de saída de execução.
10 Linux Integration Services para Hyper-V e Azure não disponível ou instalado Verifique a saída do lspci.
11 GPU NVIDIA não encontrada neste tamanho de VM Use um tamanho de VM e sistema operacional suportados.
12 Oferta de imagem não suportada
13 Tamanho da VM não suportado Use uma VM da série N para implantar.
14 Operação sem sucesso Verifique o log de saída de execução.

Suporte

Se precisar de mais ajuda em qualquer ponto deste artigo, entre em contato com os especialistas do Azure nos fóruns MSDN Azure e Stack Overflow. Como alternativa, você pode registrar um incidente de suporte do Azure. Vá para Suporte do Azure e selecione Obter suporte. Para obter informações sobre como usar o suporte do Azure, leia as Perguntas frequentes de suporte do Azure.

Próximos passos