Partage via


Images de machine virtuelle Azure HPC

S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes

Cet article partage des informations sur les images de machine virtuelle HPC à utiliser pour lancer des machines virtuelles de série H avec InfiniBand et de série N avec GPU.

L’équipe Azure HPC propose des images de machines virtuelles Linux optimisées et préconfigurées pour les charges de travail HPC et IA. Ces images de machine virtuelle sont les suivantes :

  • Basé sur les images de machine virtuelle Ubuntu et AlmaLinux de la Place de marché en amont.
  • Préconfigurées avec le pilote NVIDIA Mellanox OFED pour InfiniBand, les pilotes GPU NVIDIA, les bibliothèques MPI populaires, les bibliothèques HPC paramétrées par le fournisseur et les optimisations recommandées des performances.
  • Comprennent les optimisations et les configurations recommandées pour fournir des performances, une cohérence et une fiabilité optimales.

Disponibilité sur Azure

Vous pouvez utiliser les images HPC lors de la création d’une machine virtuelle à partir de la Place de marché Azure ou d’Azure CLI. Pour d’autres méthodes de déploiement, reportez-vous à la section Déploiement d’images de machine virtuelle HPC.

Azure Marketplace

Recherchez Ubuntu HPC par l’éditeur Microsoft-DSVM ou AlmaLinux HPC par l’éditeur AlmaLinux.

Azure CLI

Exécutez les commandes suivantes pour rechercher les URN des images HPC :

Ubuntu-HPC

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

Toutes les images prennent en charge les machines virtuelles Gen 2.

AlmaLinux-HPC

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

Toutes les images prennent en charge les machines virtuelles Gen 1 et Gen 2.

Tailles des machines virtuelles prises en charge

Les images de machine virtuelle HPC prennent en charge les tailles de machine virtuelle suivantes :

  • 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

Reportez-vous aux tailles de machine virtuelle Azure pour la dernière matrice de prise en charge des tailles de machine virtuelle de la série H et de la série N.

Packages logiciels installés

  • Mellanox OFED 24.01-0.3.3.1
  • IPoIB (IP-over-InfiniBand) préconfiguré
  • Bibliothèques MPI populaires basées sur InfiniBand
    • HPC-X v2.18 avec/sans PMIx-4
    • Intel MPI 2021.12.0
    • MVAPICH2 2.3.7-1
    • OpenMPI 5.0.2 avec PMIx-4
  • Communication Runtimes
    • Libfabric
    • OpenUCX
    • NCCL 2.21.5-1
    • Plug-in NCCL RDMA Sharp
  • Bibliothèques optimisées
    • Compilateurs C/C++ et Fortran optimisés pour AMD 4.0.0-1
    • Intel MKL 2024.0.0.49673
  • Pilotes GPU
    • Pilote NVIDIA GPU 535.161.08
    • Mémoire homologue NVIDIA (GPU Direct RDMA)
    • Gestionnaire de structure NVIDIA
    • CUDA 12.4
  • GDRCopy 2.3
  • Gestionnaire GPU de centre de données 3.3.3
  • Outil de diagnostics Azure HPC
  • Personnalisations basées sur des références SKU
    • Fichiers de topologie
    • Configuration NCCL
  • Moby 24.0.7-ubuntu22.04u1
  • Conteneur Docker NVIDIA 24.0.7-1
  • Azure Managed Lustre 2.15.4-42-gd6d405d
  • Moneo v0.3.5
  • Vérifications d’intégrité Azure HPC v0.4.2

Un index de version installé dans l’image de machine virtuelle se trouve à cet emplacement : /opt/azurehpc/component_versions.txt.

Les bibliothèques MPI et les packages logiciels sont disponibles en tant que modules d’environnement. Pour charger un package/une bibliothèque MPI, exécutez :

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

Configuration et optimisation

Pour plus d’informations sur les packages et la configuration inclus dans chaque image de machine virtuelle, reportez-vous au référentiel GitHub azhpc-images. Les configurations incluses sont basées sur les recommandations d’optimisation des fournisseurs et des partenaires, ainsi que sur les apprentissages des charges de travail HPC courantes et des pratiques d’utilisation dans les systèmes HPC traditionnels.

  • Agent Linux Azure (WAAgent)

    • Limitez l’utilisation des ressources processeur/mémoire de WAAgent (l’agent de machine virtuelle qui se trouve sur toutes les machines virtuelles Azure Linux).
    • Si vous le souhaitez, envisagez de désactiver WAAgent au début de votre script de travail et de le réactiver à la fin pour les charges de travail sensibles au processeur comme suit :
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • Limites de mémoire supérieures

    • Définir la limite maximale de mémoire verrouillée sur illimitée
    • Définir le nombre limite de fichiers ouverts sur 65535
  • Mode de récupération de zone

    • Définir zone_reclaim_mode sur 1
  • Désactiver le démon de pare-feu pour aider les lanceurs de travaux MPI

Déploiement d’images de machine virtuelle HPC

Comme indiqué, les images de machine virtuelle HPC sont disponibles à partir de la Place de marché Azure et d’Azure CLI. Elles peuvent être déployés via divers véhicules de déploiement sur Azure (Azure CycleCloud, Azure Batch, modèles ARM, etc.). Les scripts AzureHPC offrent un moyen simple de déployer rapidement un cluster HPC à l’aide de ces images.