Compartir vía


Imágenes de VM de HPC de Azure

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes

En este artículo se comparte información sobre las imágenes de máquina virtual de HPC que se usarán para iniciar máquinas virtuales de la serie H habilitadas para InfiniBand y las máquinas virtuales de la serie N habilitadas para GPU.

El equipo de Azure HPC ofrece imágenes de máquina virtual Linux optimizadas y preconfiguradas para cargas de trabajo de HPC e IA. Estas imágenes de máquina virtual son:

  • Basadas en las imágenes de máquina virtual de Ubuntu y AlmaLinux marketplace ascendentes.
  • Preconfiguradas con el controlador NVIDIA Mellanox OFED para InfiniBand, controladores de GPU de NVIDIA, bibliotecas de MPI populares, bibliotecas de HPC optimizadas por el proveedor y optimizaciones de rendimiento recomendadas.
  • Incluyen optimizaciones y configuraciones recomendadas para ofrecer un rendimiento, coherencia y confiabilidad óptimos.

Disponibilidad en Azure

Puede usar las imágenes de HPC al crear una máquina virtual desde Azure Marketplace o la CLI de Azure. Para ver otros métodos de implementación, consulte la sección implementación de imágenes de máquina virtual de HPC.

Azure Marketplace

Busque Ubuntu HPC por el editor Microsoft-DSVM, o AlmaLinux HPC por el editor AlmaLinux.

CLI de Azure

Ejecute los siguientes comandos para buscar los URN de imagen de las imágenes de HPC:

Ubuntu-HPC

az vm image list --publisher microsoft-dsvm --offer ubuntu-hpc --output table --all

Todas las imágenes admiten máquinas virtuales gen 2.

AlmaLinux-HPC

az vm image list --publisher almalinux --offer almalinux-hpc --output table --all

Todas las imágenes admiten máquinas virtuales Gen 1 y Gen 2.

Tamaños de máquinas virtuales que se admiten

Las imágenes de máquina virtual de HPC admiten los siguientes tamaños de máquina virtual:

  • Standard_HB60rs
  • Standard_HB120rs_v2
  • Standard_HB120rs_v3
  • Standard_HB120rs_v4
  • Standard_HC44rs
  • Standard_ND40rs_v2
  • Standard_ND96asr_v4
  • Standard_ND96amsr_A100_v4
  • Standard_ND96isr_H100_v5

Consulte Tamaños de máquina virtual de Azure para obtener la matriz de compatibilidad más reciente de tamaño de máquina virtual de la serie H y N.

Paquetes de software instalados

  • Mellanox OFED 24.01-0.3.3.1
  • IPoIB preconfigurado (IP sobre InfiniBand)
  • Bibliotecas MPI populares basadas en InfiniBand
    • HPC-X v2.18 con/sin PMIx-4
    • Intel MPI 2021.12.0
    • MVAPICH2 2.3.7-1
    • OpenMPI 5.0.2 con PMIx-4
  • Entornos de ejecución de comunicación
    • Libfabric
    • OpenUCX
    • NCCL 2.21.5-1
    • NCCL RDMA Sharp Plugin
  • Bibliotecas optimizadas
    • AMD Optimizing C/C++ y Fortran Compilers 4.0.0-1
    • Intel MKL 2024.0.0.49673
  • Controladores de GPU
    • Controlador de GPU NVIDIA 535.161.08
    • Memoria del mismo nivel de NVIDIA (RDMA directo de GPU)
    • NVIDIA Fabric Manager
    • CUDA 12.4
  • GDRCopy 2.3
  • Data Center GPU Manager 3.3.3
  • Herramienta de diagnóstico de AZURE HPC
  • Personalizaciones basadas en SKU
    • Archivos de topología
    • Configuración de NCCL
  • Moby 24.0.7-ubuntu22.04u1
  • NVIDIA Docker container 24.0.7-1
  • Azure Managed Lustre 2.15.4-42-gd6d405d
  • Moneo v0.3.5
  • Comprobaciones de estado de Azure HPC v0.4.2

Un índice de versión instalado dentro de la imagen de máquina virtual se encuentra en esta ubicación: /opt/azurehpc/component_versions.txt.

Las bibliotecas de MPI y los paquetes de software están disponibles como módulos de entorno. Para cargar una biblioteca o un paquete de MPI, ejecute:

module load mpi/<mpi-library-name>
module load <package-name>

Configuración y optimización

Consulte el repositorio azhpc-images en GitHub para obtener los detalles más recientes sobre qué paquetes y configuración se incluyen en cada imagen de máquina virtual. Las configuraciones incluidas se basan en recomendaciones de optimización de proveedores y asociados, así como aprendizajes de cargas de trabajo de HPC comunes y prácticas de uso en sistemas HPC tradicionales.

  • Agente de Linux de Azure (WAAgent)

    • Limite el uso de waagent (agente de máquina virtual que se ejecuta en cada máquina virtual Linux de Azure) de los recursos de CPU y memoria.
    • Opcionalmente, considere la posibilidad de deshabilitar waagent al principio del script de trabajo y habilitarlo de nuevo al final, para cargas de trabajo sensibles a la CPU como se indica a continuación:
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • Límites de memoria superiores

    • Establecer el límite máximo de memoria bloqueada en ilimitado
    • Establecer el límite de archivos abiertos en 65535
  • Modo de reclamación de zona

    • Establezca zone_reclaim_mode en 1
  • Deshabilitación del demonio de firewall para ayudar a los iniciadores de trabajos de MPI

Implementación de imágenes de máquina virtual de HPC

Como se muestra, las imágenes de máquina virtual de HPC están disponibles en Azure Marketplace y la CLI de Azure. Se pueden implementar a través de una variedad de vehículos de implementación en Azure (Azure CycleCloud, Azure Batch, plantillas de ARM, etc.). Los scripts de AzureHPC proporcionan una manera sencilla de implementar rápidamente un clúster de HPC mediante estas imágenes.