Como soluciono erros de Xid na minha instância EC2 Linux acelerada por GPU NVIDIA?

7 minuto de leitura
0

Quando executo minha aplicação em uma instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) acelerada por GPU NVIDIA, minha aplicação falha. Além disso, recebo erros Xid específicos da GPU no log do sistema. Quero recuperar informações de diagnóstico da GPU e solucionar erros de Xid relacionados à GPU.

Resolução

Observação: a resolução a seguir soluciona problemas dos tipos de instância G4, G5 e G6. As GPUs são passadas para instâncias convidadas de todas as famílias de instâncias EC2 aceleradas por GPU.

Recupere seus diagnósticos nvidia-smi

Use a ferramenta nvidia-smi para recuperar estatísticas e diagnósticos sobre a integridade e o desempenho das GPUs NVIDIA que estão conectadas à sua instância. O driver da GPU NVIDIA fornece automaticamente a ferramenta e inclui todas as opções do aprendizado profundo AWS da Amazon Machine Image (DLAMI). Para obter informações sobre como instalar o driver da GPU NVIDIA para qualquer família de instâncias de GPU, consulte Opções de instalação.

Para consultar estatísticas, execute o comando sudo nvidia-smi -q.

Exemplo de estatísticas de memória:

ECC Errors
        Volatile                              # Errors counted since last GPU driver reload
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0
        Aggregate                             # Errors counted for the life of the GPU
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0

Todas as gerações de GPUs NVIDIA registram estatísticas de memória agregadas e voláteis do hardware da GPU. Os contadores de erros ECC agregados persistem durante a vida útil da GPU. Como o valor positivo pode ser de uma edição anterior, você também deve verificar as métricas voláteis. Os erros voláteis de ECC são incrementados do zero, a partir da última vez que o driver da GPU foi recarregado.

Os erros ECC que não são corrigidos aumentam ao longo da vida útil da instância. No entanto, é possível corrigir erros ECC. Para redefinir o contador, reinicialize a instância ou redefina a GPU. Dependendo do tipo de instância e da geração da GPU, a reinicialização inicia a retirada da página ou o remapeamento de linhas para páginas com memória ruim.

Instâncias P3, P3dn, G4dn:

    Retired Pages
        Single Bit ECC              : 0
        Double Bit ECC              : 0
        Pending Page Blacklist      : No

As primeiras gerações de GPUs NVIDIA usam a retirada dinâmica de páginas. É possível ignorar erros de um único bit porque eles normalmente não causam problemas.

Se o firmware da GPU identificar erros de dois bits, a GPU interromperá o processamento e fará com que a aplicação seja encerrada abruptamente. Se ocorrerem erros de dois bits, o sistema operacional (SO) registrará um erro Xid e o status da Lista de restrições de páginas pendentes será Sim. Para resolver esses erros, reinicialize a instância para retirar o local de memória incorreto. Após a reinicialização, o status da Lista de restrições de páginas pendentes é redefinido para Não.

Observação: os contadores de erros persistem por toda a vida útil da GPU. Um contador diferente de zero na inicialização da instância não significa que há um problema de hardware ativo ou uma GPU com defeito.

Instâncias P4d, P4de, G5, G5g e G6:

    Remapped Rows        Correctable Error                 : 0 # Can safely ignore.
        Uncorrectable Error               : 0 # If > 0, review system logs for Xid errors
        Pending                           : No # If Yes, an instance reboot or GPU reset is required.
        Remapping Failure Occurred        : No # Should always be No. If Yes, please stop/start the instance.

Famílias de instâncias posteriores com GPUs A100 e A10G isolam e contêm erros de memória com o remapeamento de linhas que evita a reutilização de locais conhecidos com memória degradada. O remapeamento de linhas substitui o esquema de retirada da página nas GPUs de gerações anteriores.

É possível ignorar erros de memória corrigíveis. Erros incorrigíveis podem causar erros ou saídas abruptas da aplicação e são registrados no log do sistema operacional como erros Xid.

Quando um erro incorrigível ativa linhas remapeadas pendentes, você deve redefinir a GPU para remover a localização incorreta da memória. Reinicialize a instância para redefinir a GPU. Ou execute o seguinte comando para redefinir manualmente a GPU:

sudo nvidia-smi -i GPU_UUID -r

Observação: substitua GPU\ _UUID pelo seu ID da GPU.

Se ocorrer uma falha de remapeamento, pare e inicie a instância para migrá-la para um novo host subjacente com uma GPU íntegra.

Observação: a AWS realiza diagnósticos regulares para detectar e substituir automaticamente GPUs com problemas.

Resolver modos de falha

O driver da GPU de todas as gerações de GPUs NVIDIA grava erros nos logs do sistema operacional como erros Xid. Para obter mais informações sobre esses erros, consulte erros Xid no site da NVIDIA.

Número incorreto de GPUs ou faltam GPUs

Para ver todas as GPUs conectadas, execute o comando a seguir:

nvidia-smi --list-gpus | wc -l

Na saída do comando, certifique-se de que o número de GPUs conectadas corresponda ao número esperado de GPUs para seu tipo de instância. Se uma GPU estiver faltando, pare e inicie a instância.

Também é possível usar as etapas de solução de problemas anteriores para resolver os seguintes exemplos de erros ECC:

  • “Xid 48: A DBE has occurred”
  • “Xid 63: A page has successfully been retired”
  • “Xid 64: A page has failed retirement due to an error”

NVRM: Xid 79 (PCI:0000:00:00): GPU has fallen off the bus

O erro Xid 79 ocorre quando a instância perde a comunicação com a GPU subjacente. Para resolver esse problema, reinicialize a instância. Se o problema persistir após a reinicialização, interrompa e inicie sua instância.

WARNING: infoROM is corrupted at gpu 0000:00:00.0

O erro infoROM is corrupted ocorre quando uma parte do firmware da GPU está corrompida. Para resolver esse problema, reinicialize a instância ou redefina a GPU. Se o problema persistir após a reinicialização, interrompa e inicie sua instância.

NVRM: Xid 119 PCI:0000:00:00): Timeout waiting for RPC from GSP

-or-

NVRM: Xid 120 PCI:0000:00:00): GSP Error: Task 1 raised error code

Os erros anteriores ocorrem quando você ativa o processador de sistemas da GPU (GSP). Para resolver esse problema, desative o GSP de dentro do driver da GPU ou do módulo do kernel. Para obter instruções sobre como desativar o GSP, consulte 4.2.6. Desativando o firmware GSP no site da NVIDIA.

Evite erros Xid futuros

Quando possível, use o driver e o runtime do CUDA mais recentes. As versões dos drivers da GPU frequentemente introduzem correções, melhorias e otimizações. No entanto, as atualizações também podem conter alterações funcionais. Organize e teste primeiro as atualizações de drivers em instâncias de GPU que não são de produção.

As GPUs têm uma velocidade de núcleo e clock de memória que muda dinamicamente dependendo da carga. Para obter o melhor desempenho, defina constantemente as velocidades do núcleo da GPU e do clock de memória para suas velocidades máximas.

Desative o GSP. Nas gerações recentes de instâncias, as GPUs NVIDIA possuem o atributo de firmware GSP. Para obter instruções sobre como desativar o GSP, consulte 4.2.6. Desativando o firmware GSP no site da NVIDIA.

Além disso, use o agente Amazon CloudWatch para monitorar suas métricas da GPU.

Se você concluir as etapas de solução de problemas anteriores e ainda encontrar erros Xid, abra um caso no AWS Support. Forneça o ID da instância e a saída do comando nvidia-smi -q. Além disso, execute o comando sudo nvidia-bug-report.sh incluído no driver da GPU NVIDIA. O script nvidia-bug-report.sh captura os principais logs e outras informações de diagnóstico em seu diretório de trabalho atual. Anexe o arquivo de log compactado nvidia-bug-report.log.gz ao seu caso de suporte.

AWS OFICIAL
AWS OFICIALAtualizada há 3 meses