Utiliser des instances RDMA ou GPU dans des pools Batch
Pour exécuter certains travaux Batch, vous pouvez tirer parti des tailles de machines virtuelles Azure conçues pour le calcul à grande échelle. Par exemple :
Pour exécuter des charges de travail MPI multi-instances, choisissez des tailles de série HB, HC, NC, ND ou autres qui ont une interface réseau pour l’accès direct à la mémoire à distance (RDMA). Ces tailles se connectent à un réseau InfiniBand pour la communication entre les nœuds, ce qui peut accélérer les applications MPI.
Pour les applications CUDA, choisissez des tailles de série N qui incluent des cartes d’unité de traitement graphique (GPU) NVIDIA Tesla.
Cet article fournit des conseils et des exemples pour utiliser certaines des tailles spécialisées d’Azure dans les pools Batch. Pour obtenir des informations générales et en savoir plus sur les caractéristiques techniques, consultez :
Tailles de machines virtuelles de calcul haute performance (Linux, Windows)
Tailles de machines virtuelles Linux compatibles GPU (Linux, Windows)
Notes
Certaines tailles de machines virtuelles peuvent ne pas être disponibles dans les régions où vous créez vos comptes Batch. Pour vérifier la disponibilité d’une taille, consultez Disponibilité des produits par région et Choisir une taille de machine virtuelle pour un pool Batch.
Les dépendances
Les fonctionnalités RDMA ou GPU des tailles nécessitant beaucoup de ressources système dans Batch sont prises en charge uniquement sur certains systèmes d’exploitation. Les systèmes d’exploitation pris en charge pour ces tailles de machine virtuelle incluent uniquement un sous-ensemble de ceux disponibles pour la création de machines virtuelles. Selon la façon dont vous créez votre pool Batch, vous devrez peut-être installer ou configurer des pilotes supplémentaires ou d’autres logiciels sur les nœuds. Les tableaux suivants listent ces dépendances. Pour plus de détails, consultez les articles associés. Pour connaître les options de configuration des pools Batch, voir plus loin dans cet article.
Pools Linux - Configuration de machine virtuelle
Taille | Fonctionnalité | Systèmes d’exploitation | Logiciels requis | Paramètres de pool |
---|---|---|---|---|
H16r, H16mr NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Ubuntu 22.04 LTS (Place de marché Azure) |
Intel MPI 5 Pilotes RDMA Linux |
Activer la communication entre les nœuds, désactiver l’exécution simultanée des tâches |
Série NCv3, NDv2, NDv4 NDv5 | GPU NVIDIA Tesla (varie selon la série) | Ubuntu 22.04 LTS (Place de marché Azure) |
Pilotes NVIDIA CUDA ou CUDA Toolkit | S/O |
Série NVv3, NVv4, NVv5 | GPU de visualisation accélérée | Ubuntu 22.04 LTS (Place de marché Azure) |
Pilotes NVIDIA GRID (si nécessaire) | S/O |
*Les tailles de série N compatibles RDMA incluent également des GPU NVIDIA Tesla.
Important
Ce document fait référence à une version de Linux qui approche ou est en fin de vie (EOL). Envisagez une mise à jour vers une version plus récente.
Pools Windows - Configuration de machine virtuelle
Taille | Fonctionnalité | Systèmes d’exploitation | Logiciels requis | Paramètres de pool |
---|---|---|---|---|
H16r, H16mr NC24r, NC24rs_v2, NC24rs_v3, ND24rs* |
RDMA | Windows Server 2016, 2012 R2, ou 2012 (Place de Marché Azure) |
Microsoft MPI 2012 R2 ou ultérieur, ou Intel MPI 5 Pilotes RDMA Windows |
Activer la communication entre les nœuds, désactiver l’exécution simultanée des tâches |
Séries NC, NCv2, NCv3, ND, NDv2 | GPU NVIDIA Tesla (varie selon la série) | Windows Server 2016 ou 2012 R2 (Place de Marché Azure) |
Pilotes NVIDIA CUDA ou CUDA Toolkit | N/A |
Séries NV, NVv2, NVv4 | GPU NVIDIA Tesla M60 | Windows Server 2016 ou 2012 R2 (Place de Marché Azure) |
Pilotes NVIDIA GRID | N/A |
*Les tailles de série N compatibles RDMA incluent également des GPU NVIDIA Tesla.
Pools Windows - Configuration des services cloud
Avertissement
Les pools de configuration des services Cloud sont déconseillés. Utilisez à la place des pools de configuration de machines virtuelles.
Taille | Fonctionnalité | Systèmes d’exploitation | Logiciels requis | Paramètres de pool |
---|---|---|---|---|
H16r, H16mr | RDMA | Windows Server 2016, 2012 R2, 2012, ou 2008 R2 (Famille de système d’exploitation invité) |
Microsoft MPI 2012 R2 ou ultérieur, ou Intel MPI 5 Pilotes RDMA Windows |
Activer la communication entre les nœuds, désactiver l’exécution simultanée des tâches |
Notes
Les tailles de la série N ne sont pas prises en charge dans les pools de configuration de Cloud Services.
Options de configuration de pool
Pour configurer une taille de machine virtuelle spécialisée pour votre pool Batch, plusieurs options s’offrent à vous pour installer les logiciels ou pilotes nécessaires :
Pour les pools inclus dans la configuration de machine virtuelle, choisissez une image de machine virtuelle Place de marché Azure préconfigurée dotée de pilotes et logiciels préinstallés. Exemples :
Data Science Virtual Machine pour Linux ou Windows (inclut des pilotes NVIDIA CUDA)
Images Linux pour les charges de travail de conteneur Batch qui incluent également des pilotes GPU et RDMA :
Ubuntu Server (avec pilotes GPU et RDMA) pour les pools de conteneur Azure Batch
Créez une image de machine virtuelle Windows ou Linux personnalisée sur laquelle vous avez installé des pilotes, des logiciels ou d’autres paramètres nécessaires à la taille de machine virtuelle.
Créez un package d’application Batch à partir d’un pilote compressé ou d’un programme d’installation d’application. Ensuite, configurez Batch pour déployer ce package sur des nœuds de pool et installez-le une fois lors de la création de chaque nœud. Par exemple, si le package d’application est un programme d’installation, créez une ligne de commande de tâche de démarrage pour effectuer une installation de l’application en mode silencieux sur tous les nœuds du pool. Envisagez d’utiliser un package d’application et une tâche de démarrage de pool si votre charge de travail dépend d’une version de pilote particulière.
Notes
La tâche de démarrage doit s’exécuter avec des autorisations élevées (d’administrateur) et doit attendre de réussir. Les tâches à exécution longue augmentent le temps de provisionnement d’un pool Batch.
Exemple : pilotes NVIDIA GPU sur un pool de machines virtuelles de contrôleur de réseau Windows
Pour exécuter des applications CUDA sur un pool de nœuds de contrôleur de réseau Windows, vous devez installer des pilotes NVDIA GPU. Les exemples d’étapes suivants utilisent un package d’application pour installer les pilotes NVIDIA GPU. Vous pouvez choisir cette option si votre charge de travail dépend d’une version de pilote GPU spécifique.
- Téléchargez un package d’installation pour les pilotes GPU sur Windows Server 2016 à partir du site web NVIDIA, par exemple, la version 411.82. Enregistrez le fichier localement en utilisant un nom court, comme GPUDriverSetup.exe.
- Créez un fichier zip du package.
- Chargez le package sur votre compte Batch. Pour connaître les étapes nécessaires, consultez les instructions relatives aux packages d’applications. Spécifiez un ID d’application (par exemple, GPUDriver) et une version (par exemple, 411.82).
- À l’aide des API Batch ou du portail Azure, créez un pool dans la configuration de machine virtuelle avec le nombre de nœuds et l’échelle souhaités. Le tableau suivant présente des exemples de paramètres pour installer les pilotes NVIDIA GPU en mode silencieux à l’aide d’une tâche de démarrage :
Paramètre | Value |
---|---|
Type d’image | Place de marché (Linux/Windows) |
Publisher | MicrosoftWindowsServer |
Offer | WindowsServer |
Sku | 2016-centre-de-données |
Taille du nœud | NC6 Standard |
Références du package d’application | GPUDriver, version 411.82 |
Tâche de démarrage activée | Vrai Ligne de commande - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s" Identité de l’utilisateur - Pool autouser, admin Attente de la réussite - True |
Exemple : pilotes NVIDIA GPU sur un pool de machines virtuelles de contrôleur de réseau Linux
Pour exécuter des applications CUDA sur un pool de nœuds de contrôleur de réseau Linux, vous devez installer les pilotes NVIDIA Tesla GPU nécessaires à partir de CUDA Toolkit. Les exemples d’étapes suivants créent et déploient une image Ubuntu 22.04 LTS personnalisée avec les pilotes GPU :
- Déployez une machine virtuelle de série NC Azure exécutant Ubuntu 22.04 LTS. Par exemple, créez la machine virtuelle dans la région USA Centre Sud.
- Ajoutez l’extension NVIDIA GPU Drivers à la machine virtuelle à l’aide du portail Azure, d’un ordinateur client qui se connecte à l’abonnement Azure ou d’Azure Cloud Shell. Vous pouvez également suivre les étapes permettant de se connecter à la machine virtuelle et d’installer les pilotes CUDA manuellement.
- Suivez les étapes pour créer une image Azure Compute Gallery pour Batch.
- Créez un compte Batch dans une région qui prend en charge des machines virtuelles NC.
- En utilisant les API Batch ou le portail Azure, créez un pool avec l’image personnalisée, et le nombre de nœuds et l’échelle souhaités. Le tableau suivant contient des exemples de paramètres de pool pour l’image :
Paramètre | Value |
---|---|
Type d’image | Image personnalisée |
Image personnalisée | Nom de l’image |
Référence de l’agent de nœud | batch.node.ubuntu 22.04 |
Taille du nœud | NC6 Standard |
Exemple : Microsoft MPI sur un pool de machines virtuelles H16r Windows
Pour exécuter des applications Windows MPI sur un pool de nœuds de machine virtuelle H16r Azure, vous devez configurer l’extension HpcVmDrivers et installer Microsoft MPI. Voici des exemples d’étapes permettant de déployer une image Windows Server 2016 personnalisée avec les pilotes et logiciels nécessaires :
- Déployez une machine virtuelle H16r Azure exécutant Windows Server 2016. Par exemple, créez la machine virtuelle dans la région USA Ouest.
- Ajoutez l’extension HpcVmDrivers à la machine virtuelle en exécutant une commande Azure PowerShell à partir d’un ordinateur client qui se connecte à votre abonnement Azure, ou bien à l’aide d’Azure Cloud Shell.
- Établissez une connexion Bureau à distance à la machine virtuelle.
- Téléchargez le package d’installation (MSMpiSetup.exe) pour obtenir la dernière version de Microsoft MPI, puis installez Microsoft MPI.
- Suivez les étapes pour créer une image Azure Compute Gallery pour Batch.
- À l’aide des API Batch ou via le portail Azure, créez un pool utilisant Azure Compute Gallery et offrant le nombre de nœuds ainsi que l’échelle souhaités. Le tableau suivant contient des exemples de paramètres de pool pour l’image :
Paramètre | Value |
---|---|
Type d’image | Image personnalisée |
Image personnalisée | Nom de l’image |
Référence de l’agent de nœud | batch.node.windows amd64 |
Taille du nœud | H16r Standard |
Communication entre les nœuds activée | Vrai |
Nombre maximal de tâches par nœud | 1 |