Lanzamiento de una instancia de AWS Deep Learning AMIs con EFA - AWS Deep Learning AMIs

Lanzamiento de una instancia de AWS Deep Learning AMIs con EFA

La DLAMI base más reciente está lista para utilizarse con EFA y viene con los controladores, módulos de kernel, libfabric, openmpi y el complemento de NCCL OFI necesarios para instancias de GPU.

Puede encontrar las versiones CUDA compatibles de una DLAMI base en las notas de la versión.

Nota:

  • Al ejecutar una aplicación de NCCL mediante mpirun en EFA, tendrá que especificar la ruta completa a la instalación compatible con EFA como:

    /opt/amazon/openmpi/bin/mpirun <command>
  • Para permitir que la aplicación utilice EFA, añada FI_PROVIDER="efa" al comando mpirun, tal y como se muestra en Uso del EFA en la DLAMI.

Preparación de un grupo de seguridad habilitado para EFA

Un EFA requiere un grupo de seguridad que permita todo el tráfico entrante y saliente hacia y desde el propio grupo de seguridad. Para obtener más información, consulte la documentación de EFA.

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija Security Groups (Grupos de seguridad) y, a continuación, elija Create Security Group (Crear grupo de seguridad).

  3. En la ventana Create Security Group, haga lo siguiente:

    • En Nombre del grupo de seguridad, ingrese un nombre descriptivo para el grupo de seguridad, como, por ejemplo, EFA-enabled security group.

    • (Opcional) En Descripción, ingrese una breve descripción del grupo de seguridad.

    • En VPC, seleccione la VPC en la que desea lanzar sus instancias habilitadas para EFA.

    • Seleccione Create (Crear).

  4. Seleccione el grupo de seguridad que ha creado y, en la pestaña Description (Descripción), copie el Group ID (ID de grupo).

  5. En las pestañas Entrante y Saliente, haga lo siguiente:

    • Elija Edit (Editar).

    • En Type (Tipo), seleccione All traffic (Todo el tráfico).

    • En Source (Origen), seleccione Custom (Personalizado).

    • Pegue el ID del grupo de seguridad que copió en el campo.

    • Seleccione Save.

  6. Habilite el tráfico de entrada que hace referencia a Autorización del tráfico de entrada para sus instancias de Linux. Si omite este paso, no podrá comunicarse con su instancia de DLAMI.

Lanzar la instancia

Actualmente, el EFA en AWS Deep Learning AMIs es compatible con los siguientes tipos de instancias y sistemas operativos:

  • P3dn: Amazon Linux 2 y Ubuntu 20.04

  • P4d, P4de: Amazon Linux 2, Amazon Linux 2023, Ubuntu 20.04 y Ubuntu 22.04

  • P5, P5e, P5en: Amazon Linux 2, Amazon Linux 2023, Ubuntu 20.04, Ubuntu 22.04

En la siguiente sección se muestra cómo lanzar una instancia de DLAMI habilitada para EFA. Para obtener más información, consulte el paso Lance instancias habilitadas para EFA en un grupo con ubicación en clúster.

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. Elija Iniciar instancia.

  3. En la página Elección de una AMI, seleccione una DLAMI compatible de las que aparecen en la página de notas de la versión de DLAMI

  4. En la página Elegir un tipo de instancia , seleccione uno de los tipos de instancias admitidos y, a continuación, elija Next: Configure Instance Details. Consulte este enlace para ver la lista de instancias compatibles: Introducción a EFA y MPI

  5. En la página Configure Instance Details (Siguiente: Configurar detalles de instancia), haga lo siguiente:

    • En Number of instances (Número de instancias), introduzca el número de instancias habilitadas para EFA que desea lanzar.

    • En Network (Red) y Subnet (Subred), seleccione la VPC y la subred en la que lanzar las instancias.

    • [Opcional] En Grupo de ubicación, seleccione Añadir instancia a grupo de ubicación. Para lograr el mejor rendimiento, lance las instancias dentro de un grupo de ubicación.

    • [Opcional] En Nombre del grupo de ubicación, seleccione Añadir a un nuevo grupo de ubicación, introduzca un nombre descriptivo para el grupo de ubicación y, a continuación, en Estrategia de grupos de ubicación, seleccione clúster.

    • Asegúrese de activar el “Elastic Fabric Adapter” en esta página. Si esta opción está deshabilitada, cambie la subred por una que admita el tipo de instancia seleccionado.

    • En la sección Interfaces de red, para el dispositivo eth0, elija Nueva interfaz de red. Como opción, puede especificar una dirección IPv4 principal y una o varias direcciones IPv4 secundarias. Si está lanzando la instancia en una subred que tenga un bloque de CIDR de IPv6 asociado, como opción puede especificar una dirección IPv6 principal y una o varias direcciones IPv6 secundarias.

    • Elija Next: Add Storage (Siguiente: Añadir almacenamiento).

  6. En la página Add Storage (Añadir almacenamiento), especifique los volúmenes que desea adjuntar a la instancia además de los volúmenes especificados por la AMI (como el volumen de dispositivo raíz) y, a continuación, elija Next: Add Tags (Siguiente: Añadir etiquetas).

  7. En la página Add Tags (Añadir etiquetas), especifique etiquetas para las instancias, por ejemplo, un nombre fácil de recordar, y, a continuación, elija Next: Configure Security Group (Siguiente: Configurar grupo de seguridad).

  8. En la página Configurar grupo de seguridad, en Asignar un grupo de seguridad, seleccione Seleccionar un grupo de seguridad existente y, a continuación, seleccione el grupo de seguridad que creó anteriormente.

  9. Elija Review and Launch (Revisar y lanzar).

  10. En la página Revisar inicialización de instancia, revise la configuración y, a continuación, elija Iniciar para elegir un par de claves e iniciar las instancias.

Verificación de una asociación de EFA

En la consola

Después de lanzar la instancia, compruebe los detalles de la instancia en la consola de AWS. Para ello, seleccione la instancia en la consola de EC2 y revise la pestaña Description (Descripción) en el panel inferior de la página. Busque el parámetro “Network Interfaces: eth0” y haga clic en eth0 para que aparezca una ventana emergente. Asegúrese de que la opción “Elastic Fabric Adapter” esté habilitada.

Si EFA no está habilitado, puede solucionarlo mediante las siguientes dos opciones:

  • Finalizar la instancia EC2 y lanzar una nueva con los mismos pasos. Asegúrese de que EFA esté asociado.

  • Asocie EFA a una instancia existente.

    1. En la consola EC2, diríjase a Network Interfaces (Interfaces de red).

    2. Haga clic en Create a Network Interface (Crear una interfaz de red).

    3. Seleccione la misma subred en la que se encuentra la instancia.

    4. Asegúrese de habilitar “Elastic Fabric Adapter” y haga clic en Crear.

    5. Vuelva a la pestaña EC2 Instances (Instancias EC2) y seleccione su instancia.

    6. Vaya a Actions: Instance State y detenga la instancia antes de asociar EFA.

    7. En Actions (Acciones), seleccione Networking: Attach Network Interface (Redes: Asociar interfaz de red).

    8. Seleccione la interfaz que acaba de crear y haga clic en Attach (Asociar).

    9. Reinicie la instancia.

En la instancia

El siguiente script de prueba ya está presente en la DLAMI. Ejecútelo para asegurarse de que los módulos de kernel estén cargados correctamente.

$ fi_info -p efa

El resultado debería tener un aspecto similar al siguiente.

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

Verificación de la configuración del grupo de seguridad

El siguiente script de prueba ya está presente en la DLAMI. Ejecútelo para asegurarse de que el grupo de seguridad que creó esté configurado correctamente.

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

El resultado debería tener un aspecto similar al siguiente.

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

Si deja de responder o no se completa, asegúrese de que el grupo de seguridad tenga las reglas de entrada/salida correctas.