Partager via


Déployer un module IoT avec GPU sur Azure Stack Hub

Avec azure Stack Hub avec GPU, vous pouvez déployer des modules nécessitant beaucoup de processeurs sur des appareils Linux s’exécutant sur IoT Edge. Les tailles de machines virtuelles optimisées par GPU sont des machines virtuelles spécialisées disponibles avec des GPU NVIDIA uniques ou multiples. Dans cet article, découvrez comment utiliser des machines virtuelles optimisées par GPU pour exécuter des charges de travail nécessitant beaucoup de ressources graphiques et de visualisation.

Avant de commencer, vous aurez besoin d’un abonnement Microsoft Entra avec accès à Azure global et Azure Stack Hub, à un Azure Container Registry (ACR) et à un hub IoT.

Dans cet article, vous découvrirez comment :

  • Installez une machine virtuelle Linux compatible GPU et installez les pilotes appropriés.
  • Installez Docker et activez le GPU dans le runtime.
  • Connectez votre appareil IoT à votre iOT Hub et installez à partir de la Place de marché iOT le modèle : Getting started with GPUs.
  • Installez et surveillez votre appareil à partir d’une machine locale à l’aide de l’Explorateur Azure IoT.
  • Et éventuellement, installez et surveillez votre appareil à l’aide de l’extension Azure IoT dans Visual Studio Code.

Prerequisites

Vous devez disposer des ressources suivantes en place dans votre instance Azure Stack Hub, Azure global et sur votre ordinateur de développement local.

Azure Stack Hub et Azure

  • Un abonnement en tant qu’utilisateur utilisant Microsoft Entra ID dans un système intégré Azure Stack Hub avec un GPU NVIDA. Les puces suivantes fonctionnent avec iOT Hub :

    • NCv3
    • NCas_v4

    Pour plus d’informations sur les GPU sur Azure Stack Hub, consultez la machine virtuelle d’unité de traitement Graphics (GPU) sur Azure Stack Hub.

  • Un abonnement Azure global. Si vous n’avez pas d’abonnement Azure global, créez un compte gratuit avant de commencer.

  • Un Azure Container Registry (ACR). Notez le serveur de connexion ACR, le nom d’utilisateur et le mot de passe.

  • Hub IoT de niveau gratuit ou standard dans Azure global.

Un ordinateur de développement

  • Vous pouvez utiliser votre propre ordinateur ou une machine virtuelle, en fonction de vos préférences de développement. Votre machine de développement doit prendre en charge la virtualisation imbriquée. Cette fonctionnalité est nécessaire pour exécuter Docker, le moteur de conteneur utilisé dans cet article.

  • Votre ordinateur de développement a besoin des ressources suivantes :

Enregistrer un appareil IoT Edge

Utilisez un appareil distinct pour héberger votre appareil IoT Edge. L’utilisation d’un appareil distinct permet de séparer votre ordinateur de développement et l’appareil IoT Edge de manière plus précise, ce qui reflète un scénario de déploiement.

Créez un appareil IoT Edge dans Azure avec une machine virtuelle Linux :

  1. Créez une machine virtuelle de serveur Linux de série N sur Azure Stack Hub. Lorsque vous installez des composants pour votre serveur, vous interagirez avec le serveur via SSH. Pour plus d’informations, consultez Utiliser une paire de clés SSH avec Azure Stack Hub.

  2. Créer et inscrire un appareil IoT Edge

Préparer une machine virtuelle compatible GPU

  1. Installez les pilotes GPU NVIDA sur votre serveur Linux série N en suivant les étapes décrites dans l’article, installez les pilotes GPU NVIDIA sur des machines virtuelles de série N exécutant Linux.

    Note

    Vous allez utiliser la ligne de commande bash pour installer votre logiciel. Notez les commandes, car vous allez utiliser les mêmes commandes pour installer les pilotes sur le conteneur s’exécutant dans Docker sur votre machine virtuelle compatible GPU

  2. Installez le dernier runtime IoT Edge sur votre serveur Linux de série N dans Azure Stack Hub. Pour obtenir des instructions, consultez Installer le runtime Azure IoT Edge sur les systèmes Linux debian

Installation de Docker

Installez Docker sur votre machine virtuelle compatible GPU. Vous allez exécuter le module à partir de la Place de marché IoT Edge dans un conteneur sur la machine virtuelle.

Vous devez installer Docker 19.02 ou version ultérieure. Le runtime Docker prend désormais en charge les GPU NVIDIA. Pour en savoir plus sur les GPU dans Docker, consultez l’article de la documentation Docker, Options d'exécution avec la mémoire, les processeurs et les GPU.

Installation de Docker

Les conteneurs Docker peuvent s’exécuter n’importe où, localement dans le centre de données client, dans un fournisseur de services externe ou dans le cloud, sur Azure. Les conteneurs d’images Docker peuvent s’exécuter en mode natif sur Linux et Windows. Toutefois, les images Windows peuvent s’exécuter uniquement sur les hôtes Windows et les images Linux peuvent s’exécuter sur des hôtes Linux et des hôtes Windows (à l’aide d’une machine virtuelle Hyper-V Linux, jusqu’à présent), où l’hôte signifie un serveur ou une machine virtuelle. Pour plus d’informations, consultez Qu’est-ce que Docker ?.

  1. Connectez-vous à votre serveur Linux de série N à l’aide de votre client SSH.

  2. Mettez à jour l’index apt et les listes.

    sudo apt-get update
    
  3. Récupérez les nouvelles versions des packages existants sur l’ordinateur.

    sudo apt-get upgrade
    
  4. Installez les dépendances requises pour ajouter le référentiel apt de Docker.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Ajoutez la clé GPG de Docker.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Ajoutez le dépôt apt de Docker.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Mettez à jour l’index apt et les listes, puis installez Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Vérifiez l’installation en vérifiant la version de Docker.

    docker -v
    
  9. Exposez les ressources GPU disponibles dans Docker.

    docker run -it --rm --gpus all ubuntu nvidia-smi
    

Obtenir l'article depuis le marché

Revenez au portail Azure et ajoutez le modèle à votre appareil edge à l’aide de la Place de marché iOT. Sélectionnez Module Place de marché dans le menu. Getting started with GPUsRecherchez et suivez les instructions pour ajouter le module.

Pour obtenir des instructions, consultez Sélectionner un appareil et ajouter des modules

Activer la supervision

  1. Téléchargez l’Explorateur Azure IoT et connectez l’application à votre IoT Hub.

  2. Sélectionnez votre appareil IoT et accédez à Télémétrie dans le menu de navigation.

  3. Sélectionnez Démarrer pour commencer la sortie de surveillance à partir de l’appareil IoT Edge.

une installation valide

Surveiller le module (facultatif)

  1. Dans la palette de commandes VS Code, exécutez Azure IoT Hub : sélectionnez IoT Hub.

  2. Choisissez l’abonnement et le hub IoT qui contiennent l’appareil IoT Edge que vous souhaitez configurer. Dans ce cas, sélectionnez l’abonnement dans votre instance Azure Stack Hub, puis sélectionnez l’appareil IoT Edge créé pour votre instance Azure Stack Hub. Cela se produit lorsque vous configurez le calcul via le portail Azure dans les étapes précédentes.

  3. Dans l’Explorateur VS Code, développez la section Azure IoT Hub. Sous Appareils, vous devez voir l’appareil IoT Edge correspondant à votre instance Azure Stack Hub.

    1. Sélectionnez cet appareil, cliquez avec le bouton droit, puis sélectionnez Démarrer l’analyse du point de terminaison d’événement intégré.

    2. Accédez aux modules d’appareils > et vous devez voir votre module GPU s’exécuter.

    3. Le terminal VS Code doit également afficher les événements IoT Hub comme sortie de surveillance pour votre Azure Stack Hub.

    une installation valide est

    Vous pouvez voir que le temps nécessaire pour exécuter le même ensemble d’opérations (5000 itérations de transformation de forme) par GPU est beaucoup moins élevé que pour le processeur.

Étapes suivantes