

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
<a name="tutorial-efa-launching"></a>

[La versione più recente di Base DLAMI è pronta per l'uso con EFA e viene fornita con i driver necessari, i moduli kernel, libfabric, openmpi e il plug-in NCCL OFI per le istanze GPU.](https://github.com/aws/aws-ofi-nccl/tree/aws)

[È possibile trovare le versioni CUDA supportate di un DLAMI di base nelle note di rilascio.](appendix-ami-release-notes.md#appendix-ami-release-notes-base)

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

**Topics**
+ [Preparare un gruppo di sicurezza abilitato all'EFA](#tutorial-efa-security-group)
+ [Avvio dell'istanza](#tutorial-efa-launch)
+ [Verifica l'allegato EFA](#tutorial-efa-verify-attachment)

## Preparare un gruppo di sicurezza abilitato all'EFA
<a name="tutorial-efa-security-group"></a>

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.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-security)

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

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

1. 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). 

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

1. Nelle schede **In entrata** e In **uscita**, effettuate le seguenti operazioni: 
   + 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. 
   + Scegli **Save** (Salva). 

1. Abilitare il traffico in entrata facente riferimento a [Autorizzazione del traffico in entrata per le istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html). Se salti questo passaggio, non sarai in grado di comunicare con l'istanza DLAMI.

## Avvio dell'istanza
<a name="tutorial-efa-launch"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-instances) Group.

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

1. Scegliere **Launch Instance (Avvia istanza)**. 

1. Nella pagina **Scegli un AMI**, seleziona un DLAMI supportato che si trova nella pagina delle note di rilascio di [DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/appendix-ami-release-notes) 

1. 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html) e MPI 

1. 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)**. 

1. 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)**. 

1. 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)**. 

1. **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.** 

1. Scegliere **Review and Launch (Analizza e avvia)**. 

1. 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
<a name="tutorial-efa-verify-attachment"></a>

### Dalla console
<a name="tutorial-efa-verify-attachment-console"></a>

Dopo aver avviato l'istanza, controlla i dettagli dell'istanza nella AWS console. A tale scopo, seleziona l'istanza nella console EC2 ed esamina 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:
+ Terminando l'istanza EC2 e avviandone una nuova con le stesse fasi. Assicurati che l'EFA sia collegato. 
+ Collega EFA a un'istanza esistente.

  1. Nella console EC2, passa a Network Interfaces (Interfacce di rete).

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

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

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

  1. Torna alla scheda EC2 Instances (Istanze EC2) e seleziona l'istanza.

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

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

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

  1. Riavviare l'istanza.

### Dall'istanza
<a name="tutorial-efa-verify-attachment-instance"></a>

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
<a name="tutorial-efa-verify-attachment-security"></a>

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, assicurati che il tuo gruppo di sicurezza abbia le regole corrette inbound/outbound . 