Resolva problemas com VMs de GPU

Esta página mostra-lhe como resolver problemas de VMs executadas no Compute Engine com GPUs anexadas.

Se estiver a tentar criar uma VM com GPUs anexadas e estiver a receber erros, reveja os artigos Resolução de problemas de erros de disponibilidade de recursos e Resolução de problemas de criação e atualização de VMs.

Resolva problemas de VMs de GPU com o NVIDIA DCGM

O NVIDIA Data Center GPU Manager (DCGM) é um conjunto de ferramentas para gerir e monitorizar GPUs de centros de dados da NVIDIA em ambientes de cluster.

Se quiser usar o DCGM para resolver problemas no seu ambiente de GPU, conclua o seguinte:

  • Certifique-se de que está a usar o controlador da NVIDIA recomendado mais recente para o modelo de GPU associado à sua VM. Para rever as versões dos controladores, consulte o artigo Versões recomendadas dos controladores NVIDIA.
  • Certifique-se de que instalou a versão mais recente do DCGM. Para instalar a versão mais recente, consulte o artigo Instalação do DCGM.

Diagnostique problemas

Quando executa um comando de diagnóstico dcgmi, os problemas comunicados pela ferramenta de diagnóstico incluem passos seguintes para tomar medidas em relação ao problema. O exemplo seguinte mostra o resultado 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 fragmento de saída anterior, pode ver que GPU 0 tem desativações de páginas pendentes causadas por um erro não recuperável. O resultado forneceu o error_id exclusivo e conselhos sobre a depuração do problema. Para este exemplo de saída, recomenda-se que esgote a GPU e reinicie a VM. Na maioria dos casos, seguir as instruções nesta secção do resultado pode ajudar a resolver o problema.

Abra um registo de apoio ao cliente

Se não conseguir resolver os problemas através das orientações fornecidas pelo resultado da execução de diagnóstico dcgmi, pode abrir um registo de apoio técnico. Quando abre um registo de apoio técnico, tem de facultar as seguintes informações:

  1. O comando que foi executado e o resultado devolvido.
  2. Ficheiros de registo relevantes, como registos de diagnóstico e do motor do anfitrião. Para reunir os ficheiros de registo necessários, pode executar o script gather-dcgm-logs.sh.

    Para uma instalação predefinida em sistemas baseados no Debian e no RPM, este script encontra-se em /usr/local/dcgm/scripts.

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

    Por exemplo, se o plug-in pcie falhou, inclua o ficheiro com o nome stats_pcie.json.

  4. Informações do sistema e estado do controlador da NVIDIA. Para recolher estas informações, pode executar o script nvidia-bug-report.sh. Se estiver a usar uma instância com GPUs Blackwell, siga o artigo Gere um relatório de erro da NVIDIA para GPUs Blackwell para obter um relatório de erro abrangente.

    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 erro no próprio DCGM.

  5. Detalhes sobre as alterações recentes feitas ao seu ambiente antes da falha.

Xid messages

Depois de criar uma VM com GPUs anexadas, tem de instalar os controladores do dispositivo NVIDIA nas VMs com GPU para que as suas aplicações possam aceder às GPUs. No entanto, por vezes, estes controladores devolvem mensagens de erro.

Uma mensagem Xid é um relatório de erro do controlador NVIDIA que é impresso no registo do kernel ou no registo de eventos do sistema operativo para a sua VM Linux. Estas mensagens são colocadas no ficheiro /var/log/messages.

Para mais informações sobre as mensagens Xid, incluindo potenciais causas, consulte a documentação da NVIDIA.

A secção seguinte fornece orientações sobre o processamento de algumas mensagens Xid agrupadas pelos tipos mais comuns: erros de memória da GPU, erros do processador do sistema da GPU (GSP) e erros de acesso ilegal à memória.

Erros de memória da GPU

A memória da GPU é a memória disponível numa GPU que pode ser usada para o armazenamento temporário de dados. A memória da GPU está protegida com o código de correção de erros (ECC), que deteta e corrige erros de bit único (SBE) e deteta e comunica erros de bit duplo (DBE).

Antes do lançamento das GPUs NVIDIA A100, a desativação dinâmica de páginas era suportada. Para as versões de GPU NVIDIA A100 e posteriores (como a NVIDIA H100), é introduzida a recuperação do erro de remapeamento de linhas. O ECC está ativado por predefinição. A Google recomenda vivamente manter o ECC ativado.

Seguem-se erros comuns de memória da GPU e as respetivas resoluções sugeridas.

Mensagem de erro Xid Resolução
Xid 48: Double Bit ECC
  1. Pare as suas cargas de trabalho.
  2. Eliminar e recriar a VM. Se o erro persistir, apresente um registo junto do apoio técnico do Google Cloud.
Xid 63: ECC page retirement or row remapping recording event
  1. Pare as suas cargas de trabalho.
  2. Reponha as GPUs.
Xid 64: ECC page retirement or row remapper recording failure

Além disso, a mensagem contém as seguintes informações:

Xid 64: All reserved rows for bank are remapped
  1. Pare as suas cargas de trabalho.
  2. Eliminar e recriar a VM. Se o erro persistir, apresente um registo junto do apoio técnico do Google Cloud.

Se receber, em conjunto, pelo menos duas das seguintes mensagens Xid:

  • Xid 48
  • Xid 63
  • Xid 64

Além disso, a mensagem contém as seguintes informações:

Xid XX: row remap pending
  1. Pare as suas cargas de trabalho.
  2. Reponha as GPUs. A reposição da GPU permite que o processo de remapeamento de linhas e desativação de páginas seja concluído e corrija a GPU.
Xid 92: High single-bit ECC error rate Esta mensagem Xid é devolvida depois de o controlador da GPU corrigir um erro corrigível e não deve afetar as suas cargas de trabalho. Esta mensagem Xid é meramente informativa. Não é necessária nenhuma ação.
Xid 94: Contained ECC error
  1. Pare as suas cargas de trabalho.
  2. Reponha as GPUs.
Xid 95: Uncontained ECC error
  1. Pare as suas cargas de trabalho.
  2. Reponha as GPUs.

Erros do GSP

Um processador do sistema da GPU (GSP) é um microcontrolador que é executado em GPUs e processa algumas das funções de gestão de hardware de baixo nível.

Mensagem de erro Xid Resolução
Xid 119: GSP RPC timeout
  1. Pare as suas cargas de trabalho.
  2. Eliminar e recriar a VM. Se o erro persistir, recolha o relatório de erro da NVIDIA e apresente um registo junto do apoio técnico do Google Cloud.
Xid 120: GSP error

Erros de acesso ilegal à memória

Os seguintes XIDs são devolvidos quando as aplicações têm problemas de acesso ilegal à memória:

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

Normalmente, os erros de acesso ilegal à memória são causados pelas suas cargas de trabalho que tentam aceder à memória que já foi libertada ou está fora dos limites. Isto pode ser causado por problemas como a anulação da referência de um ponteiro inválido ou uma matriz fora dos limites.

Para resolver este problema, tem de depurar a sua aplicação. Para depurar a sua aplicação, pode usar o cuda-memcheck e o CUDA-GDB.

Em alguns casos muito raros, a degradação do hardware pode fazer com que sejam devolvidos erros de acesso ilegal à memória. Para identificar se o problema está no seu hardware, use o NVIDIA Data Center GPU Manager (DCGM). Pode executar dcgmi diag -r 3 ou dcgmi diag -r 4 para executar diferentes níveis de cobertura e duração dos testes. Se identificar que o problema está relacionado com o hardware, registe um caso junto do apoio ao cliente da nuvem.

Outras mensagens de erro Xid comuns

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

Isto significa que o controlador não consegue comunicar com a GPU.

Reinicie a VM.

Reponha as GPUs

Alguns problemas podem exigir que reponha as GPUs. Para repor as GPUs, conclua os seguintes passos:

  • Para VMs N1, G2 e A2, reinicie 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 encontra-se no diretório /home/kubernetes/bin/nvidia.

Se os erros persistirem após a reposição da GPU, tem de eliminar e recriar a VM.

Se o erro persistir após a eliminação e a recriação, apresente um registo ao apoio técnico do Google Cloud para mover a VM para o estágio de reparação.

O que se segue?

Reveja os tipos de máquinas com GPU.