

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# (Facultatif) Testez EFA
<a name="working-with_networking_efa_test-efa"></a>

 Vous pouvez démontrer la communication compatible EFA entre deux nœuds d'un groupe de nœuds de calcul en exécutant le `fi_pingpong` programme, qui est inclus dans l'installation du logiciel EFA. Si ce test est réussi, il est probable que l'EFA soit correctement configuré. 

 Pour commencer, vous avez besoin de deux instances actives dans le groupe de nœuds de calcul. Si votre groupe de nœuds de calcul utilise une capacité statique, des instances devraient déjà être disponibles. Pour un groupe de nœuds de calcul utilisant la capacité dynamique, vous pouvez lancer deux nœuds à l'aide de la `salloc` commande. Voici un exemple d'un cluster avec un groupe de nœuds dynamique nommé `hpc7g` associé à une file d'attente nommée`all`. 

```
% salloc --nodes 2 -p all
salloc: Granted job allocation 6
salloc: Waiting for resource configuration
... a few minutes pass ...
salloc: Nodes hpc7g-[1-2] are ready for job
```

 Découvrez l'adresse IP des deux nœuds alloués à l'aide de`scontrol`. Dans l'exemple suivant, les adresses sont `10.3.140.69` pour `hpc7g-1` et `10.3.132.211` pour`hpc7g-2`. 

```
% scontrol show nodes hpc7g-[1-2]
NodeName=hpc7g-1 Arch=aarch64 CoresPerSocket=1
   CPUAlloc=0 CPUEfctv=64 CPUTot=64 CPULoad=0.00
   AvailableFeatures=hpc7g
   ActiveFeatures=hpc7g
   Gres=(null)
   NodeAddr=10.3.140.69 NodeHostName=ip-10-3-140-69 Version=25.05.5
   OS=Linux 5.10.218-208.862.amzn2.aarch64 #1 SMP Tue Jun 4 16:52:10 UTC 2024
   RealMemory=124518 AllocMem=0 FreeMem=110763 Sockets=64 Boards=1
   State=IDLE+CLOUD ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
   Partitions=efa
   BootTime=2024-07-02T19:00:09 SlurmdStartTime=2024-07-08T19:33:25
   LastBusyTime=2024-07-08T19:33:25 ResumeAfterTime=None
   CfgTRES=cpu=64,mem=124518M,billing=64
   AllocTRES=
   CapWatts=n/a
   CurrentWatts=0 AveWatts=0
   ExtSensorsJoules=n/a ExtSensorsWatts=0 ExtSensorsTemp=n/a
   Reason=Maintain Minimum Number Of Instances [root@2024-07-02T18:59:00]
   InstanceId=i-04927897a9ce3c143 InstanceType=hpc7g.16xlarge

NodeName=hpc7g-2 Arch=aarch64 CoresPerSocket=1
   CPUAlloc=0 CPUEfctv=64 CPUTot=64 CPULoad=0.00
   AvailableFeatures=hpc7g
   ActiveFeatures=hpc7g
   Gres=(null)
   NodeAddr=10.3.132.211 NodeHostName=ip-10-3-132-211 Version=25.05.5
   OS=Linux 5.10.218-208.862.amzn2.aarch64 #1 SMP Tue Jun 4 16:52:10 UTC 2024
   RealMemory=124518 AllocMem=0 FreeMem=110759 Sockets=64 Boards=1
   State=IDLE+CLOUD ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
   Partitions=efa
   BootTime=2024-07-02T19:00:09 SlurmdStartTime=2024-07-08T19:33:25
   LastBusyTime=2024-07-08T19:33:25 ResumeAfterTime=None
   CfgTRES=cpu=64,mem=124518M,billing=64
   AllocTRES=
   CapWatts=n/a
   CurrentWatts=0 AveWatts=0
   ExtSensorsJoules=n/a ExtSensorsWatts=0 ExtSensorsTemp=n/a
   Reason=Maintain Minimum Number Of Instances [root@2024-07-02T18:59:00]
   InstanceId=i-0a2c82623cb1393a7 InstanceType=hpc7g.16xlarge
```

Connectez-vous à l'un des nœuds (dans ce cas,`hpc7g-1`) à l'aide de SSH (ou SSM). Notez qu'il s'agit d'une adresse IP interne, vous devrez peut-être vous connecter depuis l'un de vos nœuds de connexion si vous utilisez SSH. Sachez également que l'instance doit être configurée avec une clé SSH via le modèle de lancement du groupe de nœuds de calcul.

```
% ssh ec2-user@10.3.140.69
```

 Maintenant, `fi_pingpong` lancez-vous en mode serveur. 

```
/opt/amazon/efa/bin/fi_pingpong -p efa
```

 Connectez-vous à la deuxième instance (`hpc7g-2`).

```
% ssh ec2-user@10.3.132.211
```

 Exécuter `fi_pingpong` en mode client, en se connectant au serveur sur`hpc7g-1`. Vous devriez voir une sortie similaire à l'exemple ci-dessous. 

```
% /opt/amazon/efa/bin/fi_pingpong -p efa 10.3.140.69

bytes   #sent   #ack     total       time     MB/sec    usec/xfer   Mxfers/sec
64      10      =10      1.2k        0.00s      3.08      20.75       0.05
256     10      =10      5k          0.00s     21.24      12.05       0.08
1k      10      =10      20k         0.00s     82.91      12.35       0.08
4k      10      =10      80k         0.00s    311.48      13.15       0.08
[error] util/pingpong.c:1876: fi_close (-22) fid 0
```