

 **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
<a name="ml-eks-optimized-ami"></a>

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](https://aws.amazon.com/machine-learning/inferentia/) e no [Trainium](https://aws.amazon.com/machine-learning/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](https://github.com/awslabs/amazon-eks-ami/releases) e os [lançamentos do Bottlerocket](https://github.com/bottlerocket-os/bottlerocket/blob/develop/CHANGELOG.md) 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\$164 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\$164 Neuron  |  inf1, inf2, trn1 e trn2  | 
|  Bottlerocket x86\$164 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\$164 aws-k8s  |  inf1, inf2, trn1 e trn2  | 

## AMIs da NVIDIA otimizadas para o EKS
<a name="eks-amis-nvidia"></a>

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](https://s3.amazonaws.com/EULA/NVidiaEULAforAWS.pdf) 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](retrieve-ami-id.md) e [Recuperar IDs da AMI do Bottlerocket recomendadas](retrieve-ami-id-bottlerocket.md).

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](node-efa.md).

## AMIs da NVIDIA para o EKS no AL2023
<a name="eks-amis-nvidia-al2023"></a>

Ao usar o [NVIDIA GPU Operator](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/overview.html) 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](device-management-nvidia.md).

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](https://docs.nvidia.com/deploy/cuda-compatibility/why-cuda-compatibility.html#why-cuda-compatibility). 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](https://github.com/awslabs/amazon-eks-ami/releases) otimizados para o EKS no GitHub para obter detalhes das versões dos componentes incluídas nas AMIs. Consulte o [script de instalação](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2023/provisioners/install-nvidia-driver.sh) e o [script de carregamento do kernel](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2023/runtime/gpu/nvidia-kmod-load.sh) 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](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2023/provisioners/install-nvidia-driver.sh) e de [runtime](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2023/runtime/gpu/nvidia-kmod-load.sh) das AMIs do EKS.

## AMIs da NVIDIA para o EKS no Bottlerocket
<a name="eks-amis-nvidia-bottlerocket"></a>

Ao usar o [NVIDIA GPU Operator](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/overview.html) 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](https://docs.nvidia.com/deploy/cuda-compatibility/why-cuda-compatibility.html#why-cuda-compatibility). 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](https://bottlerocket.dev/en/) 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
<a name="eks-amis-neuron"></a>

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:
+  [Containers - Kubernetes - Getting Started](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) na documentação do AWS Neuron
+  Exemplo [Training](https://github.com/aws-neuron/aws-neuron-eks-samples/blob/master/README.md#training) na página AWS Neuron EKS Samples no GitHub
+  [Implantação de workloads de inferência de ML com o Inferentia no Amazon EKS](inferentia-support.md) 

Para encontrar as AMIs do Neuron otimizadas para o EKS mais recentes, consulte [Recuperar IDs de AMI do Amazon Linux recomendadas](retrieve-ami-id.md) e [Recuperar IDs da AMI do Bottlerocket recomendadas](retrieve-ami-id-bottlerocket.md).

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](node-efa.md).

## AMIs do Neuron para o EKS no AL2023
<a name="eks-amis-neuron-al2023"></a>

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](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/tutorials/k8s-neuron-scheduler.html), devendo estes serem instalados separadamente. Para obter mais informações, consulte [Gerenciar dispositivos Neuron no Amazon EKS](device-management-neuron.md).

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](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2023/provisioners/install-neuron-driver.sh) 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](https://github.com/awslabs/amazon-eks-ami/releases) 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
<a name="eks-amis-neuron-bottlerocket"></a>

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](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/tutorials/k8s-neuron-scheduler.html), devendo estes serem instalados separadamente. Para obter mais informações, consulte [Gerenciar dispositivos Neuron no Amazon EKS](device-management-neuron.md).

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](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-EKS.md#neuron-support) no GitHub.

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

Consulte o [Bottlerocket kernel kit changelog](https://github.com/bottlerocket-os/bottlerocket-kernel-kit/blob/develop/CHANGELOG.md) para obter informações sobre a versão do driver do Neuron incluída nas AMIs otimizadas para o EKS no Bottlerocket.