Uso de AMIs aceleradas e otimizadas para o EKS em instâncias de GPU - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Uso de AMIs aceleradas e otimizadas para o EKS em instâncias de GPU

O Amazon EKS oferece suporte a AMIs do Amazon Linux e do Bottlerocket otimizadas para o EKS em instâncias de GPU. As AMIs aceleradas e otimizadas para o EKS simplificam a execução de workloads de IA e de ML em clusters de EKS ao fornecer imagens de sistemas operacionais previamente integradas e validadas para a pilha acelerada do Kubernetes. Além dos componentes principais do Kubernetes incluídos nas AMIs otimizadas para o EKS padrão, as AMIs aceleradas e otimizadas para o EKS incluem os módulos de kernel e os drivers necessários para executar as instâncias de GPU do EC2 para a NVIDIA nas famílias G e P e as instâncias de GPU do EC2 para a AWS no Inferentia e no Trainium em clusters de EKS.

A tabela abaixo apresenta os tipos de instâncias de GPU compatíveis com cada uma das variantes de AMIs aceleradas e otimizadas para o EKS. Consulte os lançamentos do AL2023 e os lançamentos do Bottlerocket otimizados para o EKS no GitHub para obter as atualizações mais recentes das variantes de AMI.

Variante de AMI do EKS Tipos de instâncias do EC2

AL2023 x86_64 NVIDIA

p6-b300, p6-b200, p5, p5e, p5en, p4d, p4de, p3, p3dn, g7e, gr6, g6, g6e, g6f, gr6f, g5, g4dn

AL2023 ARM NVIDIA

p6e-gb200, p6e-gb300, g5g

AL2023 x86_64 Neuron

inf1, inf2, trn1 e trn2

Bottlerocket x86_64 aws-k8s-nvidia

p6-b300, p6-b200, p5, p5e, p5en, p4d, p4de, p3, p3dn, g7e, gr6, g6, g6e, g6f, gr6f, g5, g4dn

Bottlerocket aarch64/arm64 aws-k8s-nvidia

g5g

Bottlerocket x86_64 aws-k8s

inf1, inf2, trn1 e trn2

AMIs da NVIDIA otimizadas para o EKS

Ao usar as AMIs da NVIDIA otimizadas para o EKS, você concorda com o Contrato de Licença de Usuário Final (EULA, na sigla em inglês) da NVIDIA para uso da nuvem.

Para encontrar as AMIs da NVIDIA otimizadas para o EKS mais recentes, consulte Recuperar IDs de AMI do Amazon Linux recomendadas e Recuperar IDs da AMI do Bottlerocket recomendadas.

Ao usar o Amazon Elastic Fabric Adaptor (EFA) com as AMIs da NVIDIA otimizadas para o EKS com o AL2023 ou o Bottlerocket, é necessário instalar o plug-in de dispositivo de EFA separadamente. Para obter mais informações, consulte Execute o treinamento de machine learning no Amazon EKS com o Elastic Fabric Adapter.

AMIs da NVIDIA para o EKS no AL2023

Ao usar o NVIDIA GPU Operator com as AMIs do AL2023 otimizadas para EKS com a NVIDIA, é necessário desabilitar a instalação do driver e do toolkit pelo operador, pois estes já estão incluídos na AMI para o EKS. As AMIs do AL2023 otimizadas para o EKS com a NVIDIA não incluem o plug-in de dispositivo da NVIDIA para Kubernetes ou o driver de DRA da NVIDIA. Portanto, estes devem ser instalados separadamente. Para obter mais informações, consulte Gerenciar dispositivos de GPU NVIDIA no Amazon EKS.

Além dos componentes padrão na AMI do EKS, as AMIs da NVIDIA otimizadas para o EKS no AL2023 incluem os componentes apresentados a seguir.

  • Driver NVIDIA

  • Driver de modo de usuário do NVIDIA CUDA

  • NVIDIA Container Toolkit

  • NVIDIA Fabric Manager

  • Daemon “nvidia-persistenced”

  • Driver de IMEX da NVIDIA

  • Gerenciador de sub-rede NVIDIA NVLink

  • EFA mínimo (contendo módulo de kernel e rdma-core)

Para obter detalhes sobre o driver de modo de usuário do NVIDIA CUDA e o runtime ou as bibliotecas do CUDA usados em contêineres de aplicações, consulte a documentação da NVIDIA. A versão do CUDA que o comando nvidia-smi mostra refere-se ao driver de modo de usuário do NVIDIA CUDA instalado no host. Essa versão precisa ser compatível com o runtime e com as bibliotecas do CUDA que as aplicações usam nos contêineres.

As AMIs da NVIDIA otimizadas para o EKS no AL2023 oferecem suporte ao kernel 6.12 para a versão 1.33 e para versões posteriores do Kubernetes, bem como à versão 580 do driver da NVIDIA para todas as versões do Kubernetes. O uso do CUDA 13 ou de suas versões posteriores requer a instalação do driver 580 da NVIDIA.

Consulte os lançamentos do AL2023 otimizados para o EKS no GitHub para obter detalhes das versões dos componentes incluídas nas AMIs. Consulte o script de instalação e o script de carregamento do kernel das AMIs da NVIDIA para o EKS no AL2023 para obter detalhes sobre como as AMIs do EKS configuram as dependências da NVIDIA. É possível encontrar a lista de pacotes instalados e suas versões em uma instância do EC2 em execução com o comando dnf list installed.

Ao criar AMIs personalizadas usando AMIs otimizadas para o EKS como base, não é recomendado nem suportado executar uma atualização do sistema operacional (por exemplo, dnf upgrade) ou atualizar qualquer um dos pacotes do Kubernetes ou de GPU incluídos nas AMIs otimizadas para o EKS, pois isso pode comprometer a compatibilidade entre os componentes. Se você optar por atualizar o sistema operacional ou os pacotes incluídos nas AMIs otimizadas para o EKS, é recomendável realizar testes completos em um ambiente de desenvolvimento ou de preparação antes da implantação em um ambiente de produção.

Ao criar AMIs personalizadas para instâncias de GPU, recomenda-se desenvolver AMIs personalizadas distintas para cada geração e família de instâncias que você pretende executar. As AMIs aceleradas e otimizadas para o EKS realizam a instalação seletiva de drivers e pacotes durante o runtime, de acordo com a geração e a família do tipo de instância subjacente. Para obter mais informações, consulte os scripts de instalação e de runtime das AMIs do EKS.

AMIs da NVIDIA para o EKS no Bottlerocket

Ao usar o NVIDIA GPU Operator com as AMIs do Bottlerocket otimizadas para EKS com a NVIDIA, é necessário desabilitar a instalação do driver, do toolkit e do plug-in de dispositivo pelo operador, pois estes já estão incluídos na AMI para o EKS.

Além dos componentes padrão na AMI do EKS, as AMIs da NVIDIA otimizadas para o EKS no Bottlerocket incluem os componentes apresentados a seguir. As dependências mínimas para EFA (contendo módulo do kernel e rdma-core) estão instaladas em todas as variantes do Bottlerocket.

  • Plug-in de dispositivos da NVIDIA para Kubernetes

  • Driver NVIDIA

  • Driver de modo de usuário do NVIDIA CUDA

  • NVIDIA Container Toolkit

  • NVIDIA Fabric Manager

  • Daemon “nvidia-persistenced”

  • Driver de IMEX da NVIDIA

  • Gerenciador de sub-rede NVIDIA NVLink

  • Gerenciador de MIG da NVIDIA

Para obter detalhes sobre o driver de modo de usuário do NVIDIA CUDA e o runtime ou as bibliotecas do CUDA usados em contêineres de aplicações, consulte a documentação da NVIDIA. A versão do CUDA que o comando nvidia-smi mostra refere-se ao driver de modo de usuário do NVIDIA CUDA instalado no host. Essa versão precisa ser compatível com o runtime e com as bibliotecas do CUDA que as aplicações usam nos contêineres.

Consulte as informações da versão do Bottlerocket na documentação do Bottlerocket para obter detalhes sobre os pacotes instalados e suas versões. As AMIs da NVIDIA otimizadas para o EKS no Bottlerocket oferecem suporte ao kernel 6.12 para a versão 1.33 e para versões posteriores do Kubernetes, bem como à versão 580 do driver da NVIDIA na versão 1.34 e em versões posteriores do Kubernetes. O uso do CUDA 13 ou de suas versões posteriores requer a instalação do driver 580 da NVIDIA.

AMIs do Neuron otimizadas para o EKS

Para obter detalhes sobre como executar workloads de treinamento e de inferência usando o Neuron com o Amazon EKS, consulte as seguintes referências:

Para encontrar as AMIs do Neuron otimizadas para o EKS mais recentes, consulte Recuperar IDs de AMI do Amazon Linux recomendadas e Recuperar IDs da AMI do Bottlerocket recomendadas.

Ao usar o Amazon Elastic Fabric Adaptor (EFA) com as AMIs do Neuron otimizadas para o EKS com o AL2023 ou o Bottlerocket, é necessário instalar o plug-in de dispositivo de EFA separadamente. Para obter mais informações, consulte Execute o treinamento de machine learning no Amazon EKS com o Elastic Fabric Adapter.

AMIs do Neuron para o EKS no AL2023

As AMIs Neuron AL2023 otimizadas para o EKS não incluem o driver Neuron DRA, o plug-in de dispositivo Neuron para Kubernetes nem a extensão do agendador Neuron para Kubernetes, devendo estes serem instalados separadamente. Para obter mais informações, consulte Gerenciar dispositivos Neuron no Amazon EKS.

Além dos componentes padrão na AMI do EKS, as AMIs do Neuron otimizadas para o EKS no AL2023 incluem os componentes apresentados a seguir.

  • Driver do Neuron (aws-neuronx-dkms)

  • Ferramentas do Neuron (aws-neuronx-tools)

  • EFA mínimo (contendo módulo de kernel e rdma-core)

Consulte o script de instalação da AMI do Neuron para o EKS no AL2023 para obter detalhes sobre como as AMIs do EKS configuram as dependências do Neuron. Consulte os lançamentos do AL2023 otimizados para o EKS no GitHub para verificar as versões dos componentes incluídas nas AMIs. É possível encontrar a lista de pacotes instalados e suas versões em uma instância do EC2 em execução com o comando dnf list installed.

AMIs do Neuron para o EKS no Bottlerocket

As variantes padrão do Bottlerocket (aws-k8s) incluem as dependências do Neuron, que são automaticamente detectadas e carregadas ao serem executadas em instâncias do EC2 no AWS Inferentia ou Trainium.

As AMIs Bottlerocket otimizadas para o EKS não incluem o driver Neuron DRA, o plug-in de dispositivo Neuron para Kubernetes nem a extensão do agendador Neuron para Kubernetes, devendo estes serem instalados separadamente. Para obter mais informações, consulte Gerenciar dispositivos Neuron no Amazon EKS.

Além dos componentes padrão na AMI do EKS, as AMIs do Neuron otimizadas para o EKS no Bottlerocket incluem os componentes apresentados a seguir.

  • Driver do Neuron (aws-neuronx-dkms)

  • EFA mínimo (contendo módulo de kernel e rdma-core)

Ao usar as AMIs otimizadas para o EKS no Bottlerocket com instâncias do Neuron, as configurações a seguir devem ser realizadas nos dados do usuário do Bottlerocket. Essa configuração permite que o contêiner assuma a propriedade do dispositivo do Neuron montado com base nos valores runAsUser e runAsGroup fornecidos na especificação da workload. Para obter mais informações sobre o suporte ao Neuron no Bottlerocket, consulte o arquivo README de Quickstart on EKS no GitHub.

[settings] [settings.kubernetes] device-ownership-from-security-context = true

Consulte o Bottlerocket kernel kit changelog para obter informações sobre a versão do driver do Neuron incluída nas AMIs otimizadas para o EKS no Bottlerocket.