Nesta página, mostramos como resolver problemas de VMs em execução no Compute Engine que têm GPUs anexadas.
Se estiver tentando criar uma VM com GPUs anexadas e estiver encontrando erros, consulte Como corrigir erros de disponibilidade de recursos e Como resolver problemas de criação e atualização de VMs.
Resolver problemas de VMs de GPU usando DCGM da NVIDIA
O NVIDIA Data Center GPU Manager (DCGM) é um pacote de ferramentas para gerenciar e monitorar GPUs de data center NVIDIA em ambientes de cluster.
Se você quiser usar o DCGM para solucionar problemas no ambiente de GPU, conclua o seguinte:
- Verifique se você está usando o driver mais recente recomendado do NVIDIA para o modelo de GPU está anexado à sua VM. Para analisar as versões do driver, consulte Versões recomendadas do driver NVIDIA.
- Verifique se você instalou a versão mais recente do DCGM. Para instalar a versão mais recente, consulte Instalação do DCGM.
Diagnosticar problemas
Quando você executa um comando de diagnóstico dcgmi
, os problemas relatados pelo diagnóstico
incluem as próximas etapas para tomar medidas em relação ao 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 snippet de saída anterior, é possível notar que GPU 0
tem desativações de páginas pendentes causadas por um erro irrecuperável.
A saída forneceu o error_id
exclusivo e orientações sobre como depurar o problema.
Para este exemplo de saída, recomendamos que você drene a GPU e reinicie
a VM. Na maioria dos casos, seguir as instruções desta seção da resposta
pode ajudar a resolver o problema.
Abrir um caso de suporte
Se você não conseguir resolver os problemas usando a orientação fornecida pela saída da execução do diagnóstico dcgmi
, abra um caso de suporte. Quando você
abrir uma consulta ao suporte, será necessário fornecer as seguintes informações:
- O comando que foi executado e a resposta retornada.
Arquivos de registro relevantes, como registros do mecanismo do host e de diagnósticos. Para reunir os arquivos de registro necessários, execute o script
gather-dcgm-logs.sh
.Para uma instalação padrão em sistemas baseados em Debian e RPM, este script fica localizado em
/usr/local/dcgm/scripts
.Para falhas de
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 plug-in
pcie
falhar, inclua o arquivo chamadostats_pcie.json
.Informações do sistema NVIDIA e estado do driver. Para reunir essas informações, você pode executar o script
nvidia-bug-report.sh
.A execução desse 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 DCGM.
Detalhes sobre as mudanças recentes feitas no seu ambiente que precedem a falha.
Mensagens Xid
Depois de criar uma VM com GPUs anexadas, você precisa instalar drivers de dispositivo NVIDIA nas 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 erros do driver NVIDIA que é impresso no registro do kernel ou no log de eventos do sistema operacional para a VM do Linux. Essas mensagens são colocadas no arquivo /var/log/messages
.
Para mais informações sobre mensagens Xid, incluindo possíveis causas, consulte a documentação da NVIDIA.
A seção a seguir contém orientações sobre como lidar com algumas mensagens Xid agrupadas pelos tipos mais comuns: erros de memória da GPU, erros do processador do sistema da GPU (GSP, na sigla em inglês) e erros de acesso ilegal à memória.
Erros de memória da GPU
A memória da GPU é aquela disponível em uma GPU que pode ser usada para armazenamento temporário de dados. A memória da GPU é protegida com o código de correção de erro (ECC, na sigla em inglês), que detecta e corrige erros de bit único (SBE, na sigla em inglês) e detecta e informa erros de bit duplo (DBE, na sigla em inglês).
Antes do lançamento das GPUs NVIDIA A100, a desativação dinâmica de páginas era possível. Na NVIDIA A100 e nas versões de GPU mais recentes (como NVIDIA H100), foi introduzida a recuperação de erro de remapeamento de linhas. O ECC está ativado por padrão. O Google recomenda seriamente manter o ECC ativado.
Confira a seguir os erros comuns de memória da GPU e as resoluções sugeridas.
Mensagem de erro Xid | Resolução |
---|---|
Xid 48: Double Bit ECC |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
Xid 64: ECC page retirement or row remapper recording
failure
E a mensagem contiver as seguintes informações: Xid 64: All reserved rows for bank are remapped
|
|
Se você receber pelo menos duas das seguintes mensagens Xid:
E a mensagem contiver as seguintes informações: Xid XX: row remap pending
|
|
Xid 92: High single-bit ECC error rate |
Essa mensagem Xid é retornada depois que o driver da GPU solucione um erro corrigível e não afeta suas cargas de trabalho. Essa mensagem Xid é apenas informativa. Nenhuma ação é necessária. |
Xid 94: Contained ECC error |
|
Xid 95: Uncontained ECC error |
|
Erros de GSP
O processador do sistema da GPU (GSP) é um microcontrolador executado em GPUs e desempenha algumas funções de gerenciamento de hardware de baixo nível.
Mensagem de erro Xid | Resolução |
---|---|
Xid 119: GSP RPC timeout |
|
Xid 120: GSP error |
Erros de acesso ilegal à memória
Os Xids abaixo 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
Os 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 está fora dos limites. Isso pode ser causado por problemas como o desreferenciamento de um ponteiro inválido ou uma matriz de limites externos.
Para resolver esse problema, é preciso depurar seu aplicativo. Para depurar o aplicativo, use cuda-memcheck e CUDA-GDB (links em inglês).
Em alguns casos muito raros, a degradação do hardware pode fazer com que erros de acesso ilegal à memória sejam retornados. Para identificar se o problema é com seu hardware, use o NVIDIA Data Center GPU Manager (DCGM) (link em inglês).
Execute 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 |
|
Xid 79: GPU has fallen off the bus
Isso significa que o driver não pode se comunicar com a GPU. |
Reinicialize a VM. |
Redefinir GPUs
Alguns problemas podem exigir a redefinição das GPUs. Para redefinir as GPUs, siga as etapas a seguir:
- Para VMs N1, G2 e A2, reinicie a VM executando
sudo reboot
. - Para VMs A3, 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
.
- Para a maioria das VMs Linux, o executável
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 uma exclusão e recriação, registre um caso no Cloud Customer Care para mover a VM para o estágio de reparo.
A seguir
Consulte os tipos de máquina de GPU.