Uso de instancias RDMA o GPU en grupos de Batch

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca del estado Fin de vida (EOL). Tenga en cuenta su uso y planeación en consecuencia.

Para ejecutar determinados trabajos de Batch, puede aprovechar los tamaños de máquina virtual de Azure diseñados para el cálculo a gran escala. Por ejemplo:

  • para ejecutar cargas de trabajo de MPI de varias instancias, puede elegir la serie H u otros tamaños que tengan una interfaz de red para acceso directo a memoria remota (RDMA). Estos tamaños se conectan a una red de InfiniBand para la comunicación entre nodos, lo que puede acelerar las aplicaciones MPI.

  • Para aplicaciones CUDA, puede elegir tamaños de la serie N que incluyen tarjetas de unidad de procesamiento gráfico (GPU) de NVIDIA Tesla.

En este artículo se proporcionan instrucciones y ejemplos para usar algunos de los tamaños especializados de Azure en grupos de Batch. Para especificaciones e información preliminar, consulte:

Nota

Algunos tamaños de máquina virtual podrían no estar disponibles en las regiones en las que cree las cuentas de Batch. Para comprobar que un tamaño está disponible, consulte Productos disponibles por región y Elección de un tamaño de máquina virtual para un grupo de Batch.

Dependencias

Las funcionalidades RDMA y GPU de los tamaños de proceso intensivos solo se admiten en determinados sistemas operativos. (La lista de sistemas operativos admitidos es un subconjunto de los admitidos para las máquinas virtuales creadas en estos tamaños). En función de cómo cree el grupo de Batch, puede que tenga que instalar o configurar un controlador adicional u otro software en los nodos. En las tablas siguientes se resumen estas dependencias. Consulte los artículos vinculados para más información. Para conocer las opciones para configurar grupos de Batch, consulte la información restante de este artículo.

Grupos de Linux: configuración de la máquina virtual

Size Capacidad Sistemas operativos Requisitos de software Configuración del grupo
H16r, H16mr, A8 y A9
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Ubuntu 22.04 LTS o
HPC basado en CentOS
(Azure Marketplace)
Intel MPI 5

Controladores RDMA en Linux
Habilitar la comunicación entre nodos y deshabilitar la ejecución de tareas simultáneas
Series NC, NCv2, NCv3, NDv2 NVIDIA Tesla GPU (varía por serie) Ubuntu 22.04 LTS o
CentOS 8.1
(Azure Marketplace)
Controladores de NVIDIA CUDA o de CUDA Toolkit N/D
Series NV, NVv2, NVv4 GPU NVIDIA Tesla M60 Ubuntu 22.04 LTS o
CentOS 8.1
(Azure Marketplace)
Controladores de NVIDIA GRID N/D

*Los tamaños de la serie N compatibles con RDMA también incluyen las GPU de NVIDIA Tesla

Importante

En este documento se hace referencia a una versión de lanzamiento de Linux cercana o al final del ciclo de vida (EOL). Considere la posibilidad de actualizar a una versión más actual.

Grupos de Windows: configuración de la máquina virtual

Size Capacidad Sistemas operativos Requisitos de software Configuración del grupo
H16r, H16mr, A8 y A9
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Windows Server 2016, 2012 R2 o
2012 (Azure Marketplace)
Microsoft MPI 2012 R2 o posterior, o
Intel MPI 5

Controladores RDMA en Windows
Habilitar la comunicación entre nodos y deshabilitar la ejecución de tareas simultáneas
Series NC, NCv2, NCv3, ND, NDv2 NVIDIA Tesla GPU (varía por serie) Windows Server 2016 o
2012 R2 (Azure Marketplace)
Controladores de NVIDIA CUDA o de CUDA Toolkit N/D
Series NV, NVv2, NVv4 GPU NVIDIA Tesla M60 Windows Server 2016 o
2012 R2 (Azure Marketplace)
Controladores de NVIDIA GRID N/D

*Los tamaños de la serie N compatibles con RDMA también incluyen las GPU de NVIDIA Tesla

Grupos de Windows: configuración de Cloud Services

Advertencia

Los grupos de configuración de Cloud Services están en desuso. En su lugar, utilice los grupos de configuración de máquina virtual.

Size Capacidad Sistemas operativos Requisitos de software Configuración del grupo
H16r, H16mr, A8 y A9 RDMA Windows Server 2016, 2012 R2, 2012 o
2008 R2 (familia de sistemas operativos invitados)
Microsoft MPI 2012 R2 o posterior, o
Intel MPI 5

Controladores RDMA en Windows
Habilitar la comunicación entre nodos y
deshabilitar la ejecución de tareas simultáneas

Nota

Los tamaños de la serie N no se admiten en grupos de configuración de Cloud Services.

Opciones de configuración de grupos

Dispone de varias opciones para instalar el software o los controladores necesarios para configurar un tamaño de máquina virtual especializado para el grupo de Batch:

Ejemplo: controladores de GPU de NVIDIA en un grupo de VM de NC Windows.

Para ejecutar aplicaciones CUDA en un grupo de nodos NC Windows, debe instalar los controladores de GPU de NVIDIA. Los siguientes pasos de ejemplo usan un paquete de aplicación para instalar los controladores de GPU de NVIDIA. Puede elegir esta opción si la carga de trabajo depende de una versión específica del controlador de GPU.

  1. Descargue un paquete de instalación para los controladores de GPU en Windows Server 2016 desde el sitio web de NVIDIA: por ejemplo, la versión 411.82. Guarde el archivo localmente con un nombre corto como GPUDriverSetup.exe.
  2. Cree un archivo ZIP del paquete.
  3. Cargue el paquete en su cuenta de Batch. Para conocer los pasos, consulte las instrucciones de los paquetes de aplicación. Especifique un id. de aplicación, como GPUDriver y una versión, como 411.82.
  4. Mediante las API de Batch o Azure Portal, cree un grupo en la configuración de máquina virtual con el número de nodos y la escala deseados. En la tabla siguiente se muestra la configuración de ejemplo para instalar los controladores de GPU de NVIDIA en modo silencioso mediante una tarea de inicio:
Configuración Value
Tipo de imagen Marketplace (Linux/Windows)
Publicador Microsoft Windows Server
Oferta Windows Server
Sku 2016-Datacenter
Tamaño del nodo Estándar NC6
Referencias de paquetes de aplicación GPUDriver, versión 411.82
Tarea de inicio habilitada True
Línea de comandos - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"
Identidad del usuario: Usuario automático de grupo, administrador
Esperar operación correcta: True

Ejemplo: controladores de GPU de NVIDIA en un grupo de VM de NC Linux.

Para ejecutar aplicaciones CUDA en un grupo de nodos NC Linux, debe instalar los controladores de GPU de NVIDIA Tesla desde el Kit de herramientas de CUDA. Los siguientes pasos de ejemplo crean e implementan una imagen personalizada de Ubuntu 22.04 LTS con los controladores de GPU:

  1. Implemente una máquina virtual de la serie NC de Azure en la que se ejecute Ubuntu 22.04 LTS. Por ejemplo, puede crear la VM en la región Centro y Sur de EE. UU.
  2. Agregue la extensión de controladores de GPU de NVIDIA a la máquina virtual mediante Azure Portal, un equipo cliente que se conecte a la suscripción de Azure o Azure Cloud Shell. Como alternativa, siga los pasos para conectarse a la máquina virtual e instale los controladores de CUDA de forma manual.
  3. Siga los pasos para crear una imagen de Azure Compute Gallery para Batch.
  4. Cree una cuenta de Batch en una región que admite las máquinas virtuales de NC.
  5. Mediante las API de Batch o Azure Portal , cree un grupo mediante la imagen personalizada y con el número de nodos y la escala deseados. En la siguiente tabla se muestra la configuración de grupo de ejemplo de la imagen:
Configuración Value
Tipo de imagen Imagen personalizada
Imagen personalizada Nombre de la imagen
SKU del agente de nodo batch.node.ubuntu 22.04
Tamaño del nodo Estándar NC6

Ejemplo: Microsoft MPI en un grupo de VM de H16r Windows.

Para ejecutar aplicaciones MPI de Windows en un grupo de nodos de máquinas virtuales H16r de Azure, debe configurar la extensión HpcVmDrivers e instalar Microsoft MPI. Estos son los pasos de ejemplo para implementar una imagen personalizada de Windows Server 2016 con los controladores y el software necesarios:

  1. Implemente una máquina virtual H16r de Azure que ejecute Windows Server 2016. Por ejemplo, puede crear la máquina virtual en la región Oeste de EE. UU.
  2. Agregue la extensión HpcVmDrivers a la máquina virtual mediante la ejecución de un comando de Azure PowerShell desde un equipo cliente que se conecte a la suscripción de Azure o mediante Azure Cloud Shell.
  3. Abra una conexión de Escritorio remoto a la máquina virtual.
  4. Descargue el paquete de instalación (MSMpiSetup.exe) correspondiente a la versión más reciente de Microsoft MPI e instale Microsoft MPI.
  5. Siga los pasos para crear una imagen de Azure Compute Gallery para Batch.
  6. Con las API de Batch o Azure Portal, cree un grupo mediante Azure Compute Gallery con el número de nodos y la escala deseados. En la siguiente tabla se muestra la configuración de grupo de ejemplo de la imagen:
Configuración Value
Tipo de imagen Imagen personalizada
Imagen personalizada Nombre de la imagen
SKU del agente de nodo batch.node.windows amd64
Tamaño del nodo H16r Estándar
Comunicación entre nodos habilitada True
Número máximo de tareas por nodo 1

Ejemplo: Intel MPI en un grupo de VM de H16r Linux.

Para ejecutar aplicaciones MPI en un grupo de nodos Linux de la serie HB, una opción consiste en usar la imagen HPC basada en CentOS 8.1 desde Azure Marketplace. Los controladores de RDMA de Linux e Intel MPI están preinstalados. Esta imagen también admite cargas de trabajo de contenedor de Docker.

Mediante las API de Batch o Azure Portal, cree un grupo con esta imagen y con el número de nodos y la escala deseados. En la siguiente tabla se muestra la configuración del grupo de ejemplo:

Configuración Value
Tipo de imagen Marketplace (Linux/Windows)
Publicador OpenLogic
Oferta CentOS-HPC
Sku 8.1
Tamaño del nodo H16r Estándar
Comunicación entre nodos habilitada True
Número máximo de tareas por nodo 1

Pasos siguientes

  • Para ejecutar trabajos MPI en un grupo de Azure Batch, consulte los ejemplos Windows o Linux.