Solucionar problemas de VMs GPU


Esta página mostra como resolver problemas de VMs em execução no Compute Engine que possuem GPUs anexadas.

Se você estiver tentando criar uma VM com GPUs anexadas e estiver recebendo erros, revise Solução de problemas de erros de disponibilidade de recursos e Solução de problemas de criação e atualização de VMs .

Solucionar problemas de VMs de GPU usando NVIDIA DCGM

NVIDIA Data Center GPU Manager (DCGM) é um conjunto de ferramentas para gerenciar e monitorar GPUs de data center NVIDIA em ambientes de cluster.

Se quiser usar o DCGM para solucionar problemas em seu ambiente de GPU, faça o seguinte:

  • Certifique-se de estar usando o driver NVIDIA recomendado mais recente para o modelo de GPU conectado à sua VM. Para revisar as versões do driver, consulte Versões recomendadas do driver NVIDIA .
  • Certifique-se de ter instalado a versão mais recente do DCGM. Para instalar a versão mais recente, consulte Instalação do DCGM .

Diagnosticar problemas

Ao executar um comando de diagnóstico dcgmi , os problemas relatados pela ferramenta de diagnóstico incluem as próximas etapas para tomar medidas sobre o problema. O exemplo a seguir mostra a saída acionável do comando dcgmi diag -r memory -j .

{
  ........
   "category":"Hardware",
   "tests":[
      {
         "name":"GPU Memory",
         "results":[
            {
               "gpu_id":"0",
               "info":"GPU 0 Allocated 23376170169
bytes (98.3%)",
               "status":"Fail",
               ""warnings":[
                  {
                     "warning":"Pending page
retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.",
                     "error_id":83,
                     "error_category":10,
                     "error_severity":6
                  }
               ]
            }
  .........

No trecho de saída anterior, você pode ver que GPU 0 tem desativações de página pendentes causadas por um erro não recuperável. A saída forneceu o error_id exclusivo e conselhos sobre como depurar o problema. Para este exemplo de saída, é recomendável drenar a GPU e reinicializar a VM. Na maioria dos casos, seguir as instruções nesta seção da saída pode ajudar a resolver o problema.

Abra um caso de suporte

Se você não conseguir resolver os problemas usando as orientações fornecidas pela saída da execução de diagnóstico dcgmi , poderá abrir um caso de suporte. Ao abrir um caso de suporte, você precisa fornecer as seguintes informações:

  1. O comando que foi executado e a saída retornada.
  2. Arquivos de log relevantes, como mecanismo host e logs de diagnóstico. Para reunir os arquivos de log necessários, é possível executar o script gather-dcgm-logs.sh .

    Para uma instalação padrão em sistemas baseados em Debian e RPM, este script está localizado em /usr/local/dcgm/scripts .

  3. Para falhas dcgmi diag , forneça os arquivos de estatísticas dos plug-ins que falharam. O arquivo de estatísticas usa a seguinte convenção de nomenclatura: stats_ PLUGIN_NAME .json .

    Por exemplo, se o plugin pcie falhar, inclua o arquivo chamado stats_pcie.json .

  4. Informações do sistema NVIDIA e estado do driver. Para coletar essas informações, você pode executar o script nvidia-bug-report.sh .

    A execução deste script também ajuda na depuração adicional se o problema for causado por outras dependências da NVIDIA e não por um bug no próprio DCGM.

  5. Detalhes sobre quaisquer alterações recentes feitas no seu ambiente antes da falha.

Mensagens XID

Depois de criar uma VM que tenha GPUs anexadas, você deverá instalar drivers de dispositivo NVIDIA em suas VMs de GPU para que seus aplicativos possam acessar as GPUs. No entanto, às vezes esses drivers retornam mensagens de erro.

Uma mensagem Xid é um relatório de erro do driver NVIDIA que é impresso no log do kernel do sistema operacional ou no log de eventos da sua VM Linux. Essas mensagens são colocadas no arquivo /var/log/messages .

Para obter mais informações sobre mensagens Xid, incluindo possíveis causas, consulte a documentação da NVIDIA .

A seção a seguir fornece orientação sobre como lidar com algumas mensagens Xid agrupadas pelos tipos mais comuns: erros de memória da GPU, erros do processador do sistema GPU (GSP) e erros de acesso ilegal à memória.

Erros de memória GPU

A memória GPU é a memória disponível em uma GPU que pode ser usada para armazenamento temporário de dados. A memória da GPU é protegida com Error Correction Code, ECC, que detecta e corrige erros de bit único (SBE) e detecta e relata erros de bit duplo (DBE).

Antes do lançamento das GPUs NVIDIA A100, a retirada dinâmica de páginas era suportada. Para NVIDIA A100 e versões de GPU posteriores (como NVIDIA H100), é introduzida a recuperação de erros de remapeamento de linha . O ECC está habilitado por padrão. O Google recomenda fortemente manter o ECC ativado.

A seguir estão erros comuns de memória da GPU e suas resoluções sugeridas.

Mensagem de erro XID Resolução
Xid 48: Double Bit ECC
  1. Pare suas cargas de trabalho.
  2. Exclua e recrie a VM . Se o erro persistir, registre um caso no Cloud Customer Care .
Xid 63: ECC page retirement or row remapping recording event
  1. Pare suas cargas de trabalho.
  2. Reinicie as GPUs.
Xid 64: ECC page retirement or row remapper recording failure

E a mensagem contém as seguintes informações:

Xid 64: All reserved rows for bank are remapped
  1. Pare suas cargas de trabalho.
  2. Exclua e recrie a VM . Se o erro persistir, registre um caso no Cloud Customer Care .

Se você receber pelo menos duas das seguintes mensagens Xid juntas:

  • Xid 48
  • Xid 63
  • Xid 64

E a mensagem contém as seguintes informações:

Xid XX: row remap pending
  1. Pare suas cargas de trabalho.
  2. Reinicie as GPUs. A redefinição da GPU permite que o remapeamento de linha e o processo de retirada de página concluam e recuperem a GPU.
Xid 92: High single-bit ECC error rate Esta mensagem Xid é retornada depois que o driver da GPU corrige um erro corrigível e não deve afetar suas cargas de trabalho. Esta mensagem Xid é apenas informativa. Nenhuma ação é necessária .
Xid 94: Contained ECC error
  1. Pare suas cargas de trabalho.
  2. Reinicie as GPUs.
Xid 95: Uncontained ECC error
  1. Pare suas cargas de trabalho.
  2. Reinicie as GPUs.

Erros de GSP

Um GPU System Processor (GSP) é um microcontrolador que roda em GPUs e lida com algumas das funções de gerenciamento de hardware de baixo nível.

Mensagem de erro XID Resolução
Xid 119: GSP RPC timeout
  1. Pare suas cargas de trabalho.
  2. Exclua e recrie a VM . Se o erro persistir, colete o relatório de bug da NVIDIA e registre um caso no Cloud Customer Care .
Xid 120: GSP error

Erros de acesso ilegal à memória

Os seguintes Xids são retornados quando os aplicativos têm problemas de acesso ilegal à memória:

  • Xid 13: Graphics Engine Exception
  • Xid 31: GPU memory page fault

Erros de acesso ilegal à memória geralmente são causados ​​por cargas de trabalho que tentam acessar a memória que já está liberada ou fora dos limites. Isso pode ser causado por problemas como a desreferenciação de um ponteiro inválido ou uma matriz fora dos limites.

Para resolver esse problema, você precisa depurar seu aplicativo. Para depurar seu aplicativo, você pode usar cuda-memcheck e CUDA-GDB .

Em alguns casos muito raros, a degradação do hardware pode causar o retorno de erros ilegais de acesso à memória. Para identificar se o problema está no seu hardware, use NVIDIA Data Center GPU Manager (DCGM) . Você pode executar dcgmi diag -r 3 ou dcgmi diag -r 4 para executar diferentes níveis de cobertura e duração de teste. Se você identificar que o problema está no hardware, registre um caso no Cloud Customer Care .

Outras mensagens de erro comuns do Xid

Mensagem de erro XID Resolução
Xid 74: NVLINK error
  1. Pare suas cargas de trabalho.
  2. Reinicie as GPUs.
Xid 79: GPU has fallen off the bus

Isso significa que o driver não consegue se comunicar com a GPU.

Reinicie a VM.

Redefinir GPUs

Alguns problemas podem exigir que você reinicie suas GPUs. Para redefinir GPUs, conclua as seguintes etapas:

  • Para VMs N1, G2 e A2, reinicialize a VM executando sudo reboot .
  • Para VMs A3 e A4, execute sudo nvidia-smi --gpu-reset .
    • Para a maioria das VMs Linux, o executável nvidia-smi está localizado no diretório /var/lib/nvidia/bin .
    • Para nós do GKE, o executável nvidia-smi está localizado no diretório /home/kubernetes/bin/nvidia .

Se os erros persistirem após a redefinição da GPU, será necessário excluir e recriar a VM .

Se o erro persistir após a exclusão e recriação, registre um caso no Cloud Customer Care para mover a VM para o estágio de reparo .

O que vem a seguir

Revise os tipos de máquinas GPU .