View a markdown version of this page

Starten eines AWS Deep Learning AMIs Instanz mit EFA - AWS Deep Learning AMIs

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Starten eines AWS Deep Learning AMIs Instanz mit EFA

Das neueste Base-DLAMI ist bereit für die Verwendung mit EFA und enthält die erforderlichen Treiber, Kernelmodule, libfabric, openmpi und das NCCL OFI-Plugin für GPU-Instances.

Die unterstützten CUDA-Versionen eines Base-DLAMI finden Sie in den Versionshinweisen. Versionshinweise für Base-DLAMIs

Hinweis:

  • Wenn Sie eine NCCL-Anwendung mit mpirun EFA ausführen, müssen Sie den vollständigen Pfad zur von EFA unterstützten Installation wie folgt angeben:

    /opt/amazon/openmpi/bin/mpirun <command>
  • Damit Ihre Anwendung EFA verwenden kann, fügen Sie FI_PROVIDER="efa" dem mpirun-Befehl hinzu, wie unter Verwenden von EFA auf dem DLAMI gezeigt.

Bereiten Sie eine EFA Enabled Security Group vor

EFA benötigt eine Sicherheitsgruppe, die den gesamten eingehenden und ausgehenden Verkehr zur und von der Sicherheitsgruppe selbst zulässt. Weitere Informationen finden Sie in der EFA-Dokumentation.

  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Security Groups (Sicherheitsgruppen) und anschließend Create Security Group (Sicherheitsgruppe erstellen) aus.

  3. Führen Sie im Fenster Create Security Group Folgendes aus:

    • Geben Sie für Security group name (Name der Sicherheitsgruppe) einen beschreibenden Namen für die Sicherheitsgruppe ein, wie etwa EFA-enabled security group.

    • (Optional:) Geben Sie unter Description (Beschreibung) eine kurze Beschreibung der Sicherheitsgruppe ein.

    • Wählen Sie für VPC die VPC aus, in der Sie Ihre Instances starten möchten. EFA-enabled

    • Wählen Sie Create (Erstellen) aus.

  4. Wählen Sie die von Ihnen erstellte Sicherheitsgruppe aus und kopieren Sie dann auf der Registerkarte Description (Beschreibung) die Group ID (Gruppen-ID).

  5. Gehen Sie auf den Registerkarten Eingehend und Ausgehend wie folgt vor:

    • Wählen Sie Edit aus.

    • Wählen Sie für Type (Typ) die Option All traffic (Gesamter Datenverkehr) aus.

    • Wählen Sie für Source (Quelle) die Option Custom (Benutzerdefiniert) aus.

    • Fügen Sie die Sicherheitsgruppen-ID, die Sie kopiert haben, in das Feld ein.

    • Wählen Sie Speichern.

  6. Aktivieren Sie eingehenden Datenverkehr, indem Sie entsprechend der Informationen unter Autorisieren von eingehendem Datenverkehr für Linux-Instances vorgehen. Wenn Sie diesen Schritt überspringen, können Sie nicht mit Ihrer DLAMI-Instanz kommunizieren.

Starten Ihrer Instance

EFA on the AWS Deep Learning AMIs wird derzeit von den folgenden Instanztypen und Betriebssystemen unterstützt:

  • 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

Der folgende Abschnitt zeigt, wie Sie eine EFA-fähige DLAMI-Instance starten. Weitere Informationen zum Starten einer EFA-fähigen Instance finden Sie unter Starten von EFA-Enabled Instances in einer Cluster Placement Group.

  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie Launch Instance aus.

  3. Wählen Sie auf der Seite „Choose an AMI“ ein unterstütztes DLAMI aus, das Sie auf der Seite mit den DLAMI Release Notes finden

  4. Wählen Sie auf der Seite „Choose an Instance Type“ einen der folgenden unterstützten Instance-Typen aus und klicken Sie dann auf Next: Configure Instance Details. Eine Liste der unterstützten Instanzen finden Sie unter diesem Link: Erste Schritte mit EFA und MPI

  5. Führen Sie auf der Seite Configure Instance Details (Instance-Details konfigurieren) die folgenden Schritte aus:

    • Geben Sie für Anzahl der Instances die Anzahl der EFA-enabled Instances ein, die Sie starten möchten.

    • Wählen Sie für Network (Netzwerk) und Subnet (Subnetz) die VPC und das Subnetz an, in das Sie die Instances starten möchten.

    • [Optional] Wählen Sie für Placement-Gruppe die Option Instance zur Placement-Gruppe hinzufügen aus. Um eine optimale Leistung zu erzielen, starten Sie die Instances innerhalb einer Platzierungsgruppe.

    • [Optional] Wählen Sie als Platzierungsgruppenname die Option Zu einer neuen Platzierungsgruppe hinzufügen aus , geben Sie einen beschreibenden Namen für die Platzierungsgruppe ein und wählen Sie dann für Platzierungsgruppenstrategie die Option Cluster aus.

    • Stellen Sie sicher, dass Sie den „Elastic Fabric Adapter“ auf dieser Seite aktivieren. Wenn diese Option deaktiviert ist, ändern Sie das Subnetz in ein Subnetz, das den ausgewählten Instance-Typ unterstützt.

    • Wählen Sie im Abschnitt Network Interfaces (Netzwerkschnittstellen für das Gerät eth0 die Option New network interface (Neue Netzwerkschnittstelle) aus. Sie können zudem optional eine primäre IPv4-Adresse und eine oder mehrere sekundäre IPv4-Adressen eingeben. Wenn Sie die Instance in einem Subnetz starten, das einen verknüpften IPv6-CIDR-Block hat, können Sie optional eine primäre IPv6-Adresse und eine oder mehrere sekundäre IPv6-Adressen angeben.

    • Wählen Sie Next: Add Storage aus.

  6. Auf der Seite Add Storage (Speicher hinzufügen) können Sie neben den durch das AMI festgelegten Volumes (wie z. B. dem Root-Gerät-Volume) auch Datenträger angeben, die an die Instance angefügt werden sollen. Wählen Sie anschließend Next: Add Tags (Weiter: Tags (Markierungen) hinzufügen) aus.

  7. Geben Sie auf der Seite Add Tags (Tags (Markierungen) hinzufügen) Tags (Markierungen) für die Instances an, z. B. einen benutzerfreundlichen Namen, und wählen Sie anschließend Next: Configure Security Group (Weiter: Sicherheitsgruppe konfigurieren).

  8. Wählen Sie auf der Seite „Sicherheitsgruppe konfigurieren“ für Eine Sicherheitsgruppe zuweisen die Option Vorhandene Sicherheitsgruppe auswählen aus, und wählen Sie dann die Sicherheitsgruppe aus, die Sie zuvor erstellt haben.

  9. Klicken Sie auf Review and Launch.

  10. Überprüfen Sie auf der Seite Review Instance Launch (Instance-Start überprüfen) Ihre Einstellungen und wählen Sie anschließend Launch (Starten) aus, um ein Schlüsselpaar auszuwählen und Ihre Instance zu starten.

Überprüfen Sie den EFA-Anhang

Über die Konsole

Überprüfen Sie nach dem Start der Instanz die Instanzdetails in der AWS Konsole. Wählen Sie dazu die Instance in der EC2-Konsole aus und sehen Sie sich die Registerkarte "Description (Beschreibung)" im unteren Bereich auf der Seite an. Suchen Sie den Parameter 'Network Interfaces: eth0' und wählen Sie eth0, wodurch ein Pop-up geöffnet wird. Stellen Sie sicher, dass „Elastic Fabric Adapter“ aktiviert ist.

Wenn EFA nicht aktiviert ist, können Sie dies wie folgt beheben:

  • Beenden der EC2-Instance und Starten einer neuen Instance mit den gleichen Schritten. Stellen Sie sicher, dass die EFA angehängt ist.

  • Hängen Sie EFA an eine bestehende Instanz an.

    1. Wechseln Sie in der EC2-Konsole zu "Network Interfaces (Netzwerkschnittstellen)".

    2. Wählen Sie Create a Network Interface.

    3. Wählen Sie dasselbe Subnetz aus, in dem sich Ihre Instance befindet.

    4. Stellen Sie sicher, dass der „Elastic Fabric Adapter“ aktiviert ist, und wählen Sie Erstellen.

    5. Wechseln Sie zurück zur Registerkarte "EC2 Instances (EC-Instances)" und wählen Sie Ihre Instance aus.

    6. Gehen Sie zu Aktionen: Instanzstatus und beenden Sie die Instanz, bevor Sie EFA anhängen.

    7. Wählen Sie unter "Actions (Aktionen)" die Option "Networking: Attach Network Interface (Netzwerk: Netzwerkschnittstelle anfügen)" aus.

    8. Wählen Sie die Schnittstelle aus, die Sie gerade erstellt haben, und wählen Sie „Anhängen“.

    9. Starten Sie Ihre Instance neu.

Über die Instance

Das folgende Testskript ist bereits auf dem DLAMI vorhanden. Führen Sie es aus, um sicherzustellen, dass die Kernel-Module ordnungsgemäß geladen sind.

$ fi_info -p efa

Ihre Ausgabe sollte in etwa wie folgt aussehen.

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

Überprüfen der Sicherheitsgruppenkonfiguration

Das folgende Testskript ist bereits auf dem DLAMI vorhanden. Führen Sie es aus, um sicherzustellen, dass die von Ihnen erstellte Sicherheitsgruppe ordnungsgemäß konfiguriert ist.

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

Ihre Ausgabe sollte in etwa wie folgt aussehen.

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

Wenn es nicht mehr reagiert oder nicht abgeschlossen wird, stellen Sie sicher, dass Ihre Sicherheitsgruppe über die richtigen inbound/outbound Regeln verfügt.