Compartilhar via


Extensão de Driver NVIDIA GPU para Linux

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

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

Observação

Com a Inicialização Segura habilitada, todos os componentes de inicialização do sistema operacional (carregador de inicialização, kernel, drivers de kernel) devem ser assinados por fornecedores confiáveis. Não há suporte para a Inicialização Segura usando extensões Windows ou Linux. Para obter mais informações sobre a instalação manual de drivers de GPU com a Inicialização Segura habilitada, consulte Configuração de driver de GPU da série N do Azure para Linux.

Observação

As extensões de driver de GPU não atualizam automaticamente o driver depois que a extensão é instalada. Se você precisar mover para uma versão mais recente do driver, baixe e instale manualmente o driver ou remova e adicione a extensão novamente.

Pré-requisitos

Sistema operacional

Esta extensão é compartível com as seguintes distribuições do sistema operacional, dependendo do suporte do driver para a versão específica do sistema operacional:

Distribuição Versão
Linux: Ubuntu 20.04 LTS
Linux: Red Hat Enterprise Linux 7.9

Observação

Atualmente, os drivers CUDA mais recentes com suporte para VMs da série NC são 470.82.01. Não há suporte para versões posteriores do driver nos cartões K80 no NC. Enquanto a saída está sendo atualizada com esse fim de suporte para NC, instale os drivers CUDA manualmente para cartões K80 na série NC.

Importante

Este documento faz referência a uma versão de lançamento do Linux que está se aproximando do Fim da Vida Útil (EOL). Considere atualizar para uma versão mais recente.

Conectividade com a 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 date
publicador Microsoft.HpcCompute string
type NvidiaGpuDriverLinux string
typeHandlerVersion 1.6 INT

Configuraçõ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 mais recente com suporte e o CUDA toolkit (conforme aplicável).

Nome Descrição Valor padrão Valores válidos Tipo de dados
updateOS Atualize o kernel, mesmo que não seja necessário para instalação do driver. false verdadeiro, falso booleano
driverVersion NV: versão do driver de grade.
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 com suporte string
installCUDA Instale o kit de ferramentas CUDA. Só é relevante para as VMs da série NC/ND. true verdadeiro, falso booleano

Implantação

Portal do Azure

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

  1. Em um navegador, acesse o portal do Azure.

  2. Acesse a máquina virtual em que você deseja instalar o driver.

  3. No menu esquerdo, selecione Extensões.

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

  4. Selecione Adicionar.

    Captura de tela que mostra a adição de uma extensão VM para a VM selecionada.

  5. Role para localizar e selecione Extensão do Driver NVIDIA GPU e, em seguida, selecione Avançar.

    Captura de tela que mostra a seleção da Extensão do Driver NVIDIA GPU.

  6. Selecione Examinar + Criar e escolha Criar. Aguarde alguns minutos até que o driver seja implantado.

    Captura de tela que mostra a seleção do botão Examinar + 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 a VM.

Modelo do Azure Resource Manager

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

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

O exemplo a seguir pressupõe que a extensão está aninhada dentro do recurso de máquina virtual. Quando o recurso de extensão está aninhado, o JSON é colocado no objeto "resources": [] 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 reflete os exemplos do Resource Manager e PowerShell anteriores:

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 configurações personalizadas como um exemplo para instalação de driver não padrão. Mais especificamente, ele atualiza o kernel do sistema operacional mais atual e instala um driver de versão específico do kit de ferramentas CUDA. Novamente, observe que --settings são opcionais e padrão. Atualizar o kernel pode aumentar o tempo 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 os 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

Solucionar 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 da implantação das extensões de uma determinada VM, execute o comando a seguir:

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. Confira este arquivo para acompanhar o status de instalação (qualquer execução prolongada) e para solucionar 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 concluída com êxito
1 Uso incorreto de extensão Verifique o log de saída de execução.
10 Serviços de integração do Linux para Hyper-V e o Azure não disponível ou instalado Verifique a saída de lspci.
11 GPU NVIDIA não encontrado nesse tamanho de VM Use um tamanho da VM e sistema operacional com suporte.
12 Oferta de imagem não suportada
13 Tamanho de VM não suportado Use uma VM da série N para implantar.
14 Operação falhou Verifique o log de saída de execução.

Problemas conhecidos

  1. NvidiaGpuDriverLinux atualmente não instala os drivers mais recentes 17.x drivers GRID devido a problemas de certificado. Enquanto o Azure está trabalhando para resolver esse problema, use o driver GRID 16.5 passando uma configuração de runtime para a extensão.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. O 17.x de versão do GRID Driver é incompatível com o NVv3 (NVIDIA Tesla M60). Há suporte para drivers GRID até a versão 16.5. NvidiaGpuDriverLinux instala os drivers mais recentes incompatíveis com o SKU do NVv3. Em vez disso, use as seguintes configurações de runtime para forçar a extensão a instalar uma versão mais antiga do driver. Para obter mais informações sobre as versões do driver, consulte recursos de GPU NVIDIA.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}

Suporte

Caso precise de mais ajuda a qualquer momento neste artigo, entre em contato com os especialistas do Azure nos fóruns do Azure e do Stack Overflow no MSDN. Como alternativa, você pode registrar um incidente de suporte do Azure. Acesse o Suporte do Azure e selecione Obter suporte. Para saber mais sobre como usar o suporte do Azure, leia as Perguntas frequentes sobre o suporte do Azure.

Próximas etapas