As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Lançando um AMIs de deep learning da AWS Instância com EFA
A DLAMI base mais recente está pronta para usar o EFA e vem com os drivers, os módulos do kernel, libfabric, openmpi e o plug-in OFI NCCL
Você pode encontrar as versões do CUDA compatíveis de uma DLAMI base nas notas de versão.
Observação:
-
Ao executar um aplicativo NCCL usando
mpirunno EFA, será necessário especificar o caminho completo para as instalações do EFA com suporte como:/opt/amazon/openmpi/bin/mpirun <command> -
Para habilitar seu aplicativo para usar o EFA, adicione
FI_PROVIDER="efa"ao comandompiruncomo mostrado em Uso do EFA na DLAMI.
Tópicos
Preparar um grupo de segurança habilitado para o EFA
O EFA requer um grupo de segurança que permita todo o tráfego recebido do grupo de segurança e enviado para ele. Para ter mais informações, consulte a Documentação do EFA.
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Security Groups (Grupos de segurança) e, em seguida, Create Security Group (Criar grupo de segurança).
-
Na janela Security group, faça o seguinte:
-
Em Security group name (Nome do grupo de segurança), insira um nome descritivo para o grupo de segurança, como
EFA-enabled security group. -
(Opcional) Em Description (Descrição), insira uma breve descrição do grupo de segurança.
-
Para VPC, selecione a VPC na qual você pretende iniciar suas instâncias. EFA-enabled
-
Escolha Criar.
-
-
Selecione o grupo de segurança que você criou e, na guia Description (Descrição), copie o Group ID (ID do grupo).
-
Nas guias Entrada e Saída, faça o seguinte:
-
Selecione Edit.
-
Para Type (Tipo), escolha All traffic (Todo o tráfego).
-
Em Source, escolha Custom.
-
Cole o ID do grupo de segurança que você copiou no campo.
-
Escolha Salvar.
-
-
Habilite o tráfego de entrada fazendo referência a Autorizar tráfego de entrada para as instâncias do Linux. Se ignorar esta etapa, você não poderá se comunicar com sua instância da DLAMI.
Executar sua instância
Atualmente, o EFA no AMIs de deep learning da AWS é compatível com os seguintes tipos de instância e sistemas operacionais:
-
P3dn: Amazon Linux 2, Ubuntu 20.04
-
P4d, P4de: Amazon Linux 2, Amazon Linux 2023, Ubuntu 20.04, Ubuntu 22.04
-
P5, P5e, P5en: Amazon Linux 2, Amazon Linux 2023, Ubuntu 20.04, Ubuntu 22.04
A seção a seguir mostra como iniciar uma instância da DLAMI habilitada para EFA. Para obter mais informações sobre o lançamento de uma instância habilitada para EFA, consulte Launch EFA-Enabled Instances into a Cluster Placement Group.
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Escolha Executar instância.
-
Na página Escolha uma AMI, selecione uma DLAMI compatível encontrada na página de notas de versão de DLAMIs.
-
Na página Escolher um tipo de instância, selecione um dos seguintes tipos de instância com suporte e escolha Próximo: Configurar os detalhes da instância. Consulte este link para acessar a lista de instâncias compatíveis: Conceitos básicos do EFA e MPI.
-
Na página Configurar detalhes da instância, faça o seguinte:
-
Em Número de instâncias, insira o número de EFA-enabled instâncias que você deseja iniciar.
-
Em Rede e Sub-rede, selecione a VPC e a sub-rede na qual executar as instâncias.
-
[Opcional] Em Grupo de posicionamento, selecione Adicionar instância ao grupo de posicionamento. Para obter o melhor desempenho, execute as instâncias dentro de um placement group.
-
[Opcional] Em Nome do grupo de posicionamento, selecione Adicionar a um novo grupo de posicionamento, insira um nome descritivo para o grupo de posicionamento e, em Estratégia de grupo de posicionamento, selecione cluster.
-
Habilite o “Elastic Fabric Adapter” nesta página. Se esta opção estiver desabilitada, altere a sub-rede para uma que ofereça suporte ao tipo de instância selecionado.
-
Na seção Interfaces de rede, para dispositivo eth0, escolha Nova interface de rede. Como opção, é possível especificar um endereço IPv4 principal e um ou mais endereços IPv4 secundários. Se estiver executando a instância em uma sub-rede que tenha um bloco CIDR IPv6 associado, será possível especificar opcionalmente um endereço IPv6 principal e um ou mais endereços IPv6 secundários.
-
Escolha Next: Add Storage.
-
-
Na página Add Storage (Adicionar armazenamento), especifique os volumes para anexar às instâncias em associação aos volumes especificados pela AMI (como o volume do dispositivo raiz) e escolha Next: Add Tags (Próximo: adicionar tags).
-
Na página Adicionar tags, especifique tags para as instâncias, como nome amigável, e selecione Próximo: Configurar grupo de segurança.
-
Na página Configurar grupo de segurança, em Atribuir um grupo de segurança, escolha Selecionar um grupo de segurança existente e selecione o grupo de segurança que você criou anteriormente.
-
Escolha revisar e iniciar.
-
Na página Revisar execução da instância, reveja as configurações, e escolha Executar para escolher um par de chaves e executar a instâncias.
Verificar anexo do EFA
No console
Depois de iniciar a instância, verifique os detalhes da instância no AWS console. Para fazer isso, selecione a instância no console do EC2 e observe a guia "Descrição" no painel inferior da página. Encontre o parâmetro 'Interfaces de rede: eth0' e escolha eth0, que abre um pop-up. O “Elastic Fabric Adapter” deve estar habilitado.
Se o EFA não estiver habilitado, você poderá corrigir isso da seguinte forma:
-
Encerre a instância do EC2 e execute uma nova com as mesmas etapas. Verifique se o EFA está associado.
-
Associe o EFA a uma instância existente.
-
No console do EC2, acesse "Interfaces de rede".
-
Escolha Criar uma interface de rede.
-
Selecione a mesma sub-rede na qual está sua instância.
-
Certifique-se de ativar o 'Elastic Fabric Adapter' e escolha Criar.
-
Volte para a guia "Instâncias do EC2" e selecione sua instância.
-
Acesse Ações: estado da instância e interrompa a instância antes de anexar o EFA.
-
Em "Ações", selecione "Rede: Anexar Interface de Rede".
-
Selecione a interface que você acabou de criar e escolha anexar.
-
Reinicie sua instância.
-
Na instância
O script de teste a seguir já está presente na DLAMI. Execute-o para garantir que os módulos do kernel sejam carregados corretamente.
$ fi_info -p efa
O resultado deve ser semelhante ao seguinte:
provider: efa fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-rdm version: 2.0 type: FI_EP_RDM protocol: FI_PROTO_EFA provider: efa fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-dgrm version: 2.0 type: FI_EP_DGRAM protocol: FI_PROTO_EFA provider: efa;ofi_rxd fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-dgrm version: 1.0 type: FI_EP_RDM protocol: FI_PROTO_RXD
Verificar a configuração do grupo de segurança
O script de teste a seguir já está presente na DLAMI. Execute-o para garantir que o grupo de segurança criado esteja configurado corretamente.
$ cd /opt/amazon/efa/test/ $ ./efa_test.sh
O resultado deve ser semelhante ao seguinte:
Starting server... Starting client... bytes #sent #ack total time MB/sec usec/xfer Mxfers/sec 64 10 =10 1.2k 0.02s 0.06 1123.55 0.00 256 10 =10 5k 0.00s 17.66 14.50 0.07 1k 10 =10 20k 0.00s 67.81 15.10 0.07 4k 10 =10 80k 0.00s 237.45 17.25 0.06 64k 10 =10 1.2m 0.00s 921.10 71.15 0.01 1m 10 =10 20m 0.01s 2122.41 494.05 0.00
Se ele parar de responder ou não for concluído, certifique-se de que seu grupo de segurança tenha as inbound/outbound regras corretas.