Avvio di un'istanza con EFA AWS Deep Learning AMIs - AWS Deep Learning AMIs

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Avvio di un'istanza con EFA AWS Deep Learning AMIs

La versione più recente di Base DLAMI è pronta per l'uso con EFA e viene fornita con i driver necessari, i moduli del kernel, libfabric, openmpi e il plug-in NCCL OFI per le istanze GPU.

È possibile trovare le versioni CUDA supportate di un DLAMI di base nelle note di rilascio.

Nota:

  • Quando si esegue un'applicazione NCCL utilizzando mpirun EFA, è necessario specificare il percorso completo dell'installazione supportata da EFA come:

    /opt/amazon/openmpi/bin/mpirun <command>
  • Per consentire all'applicazione di utilizzare EFA, aggiungere FI_PROVIDER="efa" al comando mpirun come mostrato in Utilizzo di EFA su DLAMI.

Preparare un gruppo di sicurezza abilitato all'EFA

L'EFA richiede un gruppo di sicurezza che consenta tutto il traffico in entrata e in uscita da e verso il gruppo di sicurezza stesso. Per ulteriori informazioni, consulta la documentazione EFA.

  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, scegliere Security Groups (Gruppi di sicurezza) e quindi Create Security Group (Crea gruppo di sicurezza).

  3. Nella finestra Create Security Group (Crea gruppo di sicurezza) effettuare le operazioni seguenti:

    • In Nome gruppo di sicurezza, immettere un nome descrittivo per il gruppo di sicurezza, ad esempio EFA-enabled security group.

    • (Facoltativo) In Description (Descrizione), inserire una breve descrizione del gruppo di sicurezza.

    • In VPC, selezionare il VPC in cui avviare le istanze abilitate per EFA.

    • Scegli Create (Crea) .

  4. Selezionare il gruppo di sicurezza creato e, nella scheda Description (Descrizione), copiare il valore Group ID (ID gruppo).

  5. Nelle schede In entrata e In uscita, procedi come segue:

    • Seleziona Edit (Modifica).

    • In Type (Tipo), selezionare All traffic (Tutto il traffico).

    • In Source (Origine), scegliere Custom (Personalizzata).

    • Incollare nel campo l'ID del gruppo di sicurezza copiato in precedenza.

    • Seleziona Salva.

  6. Abilitare il traffico in entrata facente riferimento a Autorizzazione del traffico in entrata per le istanze Linux. Se salti questo passaggio, non sarai in grado di comunicare con l'istanza DLAMI.

Avvio dell'istanza

EFA on the AWS Deep Learning AMIs è attualmente supportato con i seguenti tipi di istanze e sistemi operativi:

  • 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

La sezione seguente mostra come avviare un'istanza DLAMI abilitata per EFA. Per ulteriori informazioni sul lancio di un'istanza abilitata per EFA, consulta Launch Enabled Instances into a Cluster Placement Group.

  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Scegliere Launch Instance (Avvia istanza).

  3. Nella pagina Scegli un AMI, seleziona un DLAMI supportato che si trova nella pagina delle note di rilascio di DLAMI

  4. Nella pagina Scegli un tipo di istanza, seleziona uno dei seguenti tipi di istanza supportati, quindi scegli Avanti: Configura i dettagli dell'istanza. Fai riferimento a questo link per l'elenco delle istanze supportate: Guida introduttiva a EFA e MPI

  5. Nella pagina Configure Instance Details (Configura i dettagli dell'istanza), procedere come segue:

    • In Number of instances (Numero di istanze), immettere il numero di istanze abilitate per EFA che si desidera avviare.

    • In Network (Rete) e Subnet (Sottorete), selezionare il VPC e la sottorete in cui avviare le istanze.

    • [Facoltativo] Per il gruppo di collocamento, selezionate Aggiungi istanza al gruppo di collocamento. Per ottenere prestazioni ottimali, avviare le istanze all'interno di un gruppo di collocazione.

    • [Facoltativo] Per il nome del gruppo di collocamento, selezionate Aggiungi a un nuovo gruppo di collocamento, inserite un nome descrittivo per il gruppo di collocamento, quindi per la strategia del gruppo di collocamento, selezionate cluster.

    • Assicurati di abilitare «Elastic Fabric Adapter» in questa pagina. Se questa opzione è disabilitata, modificare la subnet in una che supporta il tipo di istanza selezionato.

    • Nella sezione Network Interfaces (Interfacce di rete), per il dispositivo eth0 scegliere New network interface (Nuova interfaccia di rete). Facoltativamente, puoi specificare un IPv4 indirizzo principale e uno o più IPv4 indirizzi secondari. Se stai avviando l'istanza in una sottorete a cui è associato un blocco IPv6 CIDR, puoi facoltativamente specificare un IPv6 indirizzo primario e uno o più indirizzi secondari. IPv6

    • Scegliere Next: Add Storage (Successivo: aggiungi storage).

  6. Nella pagina Add archiviazione (Aggiungi archiviazione), specificare i volumi da collegare all'istanza, oltre a quelli specificati dall'AMI (ad esempio il volume dispositivo root), quindi selezionare Next: Add Tags (Successivo: aggiungi tag).

  7. Nella pagina Add Tags (Aggiungi tag) specificare i tag per l'istanza, ad esempio un nome intuitivo, quindi selezionare Next: Configure Security Group (Successivo: configurazione del gruppo di sicurezza).

  8. Nella pagina Configura gruppo di sicurezza, per Assegna un gruppo di sicurezza, seleziona Seleziona un gruppo di sicurezza esistente, quindi seleziona il gruppo di sicurezza creato in precedenza.

  9. Scegliere Review and Launch (Analizza e avvia).

  10. Nella pagina Review Instance Launch (Verifica avvio istanza) controllare le impostazioni e selezionare Launch (Avvia) per scegliere una coppia di chiavi e avviare l'istanza.

Verifica l'allegato EFA

Dalla console

Dopo aver avviato l'istanza, controlla i dettagli dell'istanza nella AWS console. Per fare ciò, seleziona l'istanza nella EC2 console e guarda la scheda Descrizione nel riquadro inferiore della pagina. Trova il parametro 'Interfacce di rete: eth0' e fai clic su eth0 che apre un pop-up. Assicurati che «Elastic Fabric Adapter» sia abilitato.

Se EFA non è abilitato, puoi risolvere il problema in uno dei seguenti modi:

  • Chiusura dell' EC2 istanza e avvio di una nuova istanza con gli stessi passaggi. Assicurati che l'EFA sia collegato.

  • Collega EFA a un'istanza esistente.

    1. Nella EC2 console, vai a Interfacce di rete.

    2. Fai clic su Create a Network Interface (Crea un'interfaccia di rete).

    3. Seleziona la stessa subnet in cui si trova l'istanza.

    4. Assicurati di abilitare «Elastic Fabric Adapter» e fai clic su Crea.

    5. Torna alla scheda EC2 Istanze e seleziona la tua istanza.

    6. Vai a Azioni: Stato dell'istanza e interrompi l'istanza prima di collegare EFA.

    7. Da Actions (Operazioni), seleziona Networking: Attach Network Interface (Rete: Collega interfaccia di rete).

    8. Seleziona l'interfaccia appena creata e clicca su attach (collega).

    9. Riavviare l'istanza.

Dall'istanza

Il seguente script di test è già presente sul DLAMI. Eseguilo per assicurarti che i moduli del kernel siano caricati correttamente.

$ fi_info -p efa

L'aspetto dell'output sarà simile al seguente.

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

Verifica della configurazione del gruppo di sicurezza

Il seguente script di test è già presente sul DLAMI. Eseguilo per assicurarti che il gruppo di sicurezza creato sia configurato correttamente.

$ cd /opt/amazon/efa/test/ $ ./efa_test.sh

L'aspetto dell'output sarà simile al seguente.

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 smette di rispondere o non viene completato, assicuratevi che il gruppo di sicurezza disponga delle regole in entrata/uscita corrette.