Freigeben über


Bereitstellen eines GPU-aktivierten IoT-Moduls im Azure Stack Hub

Mit einem GPU-fähigen Azure Stack Hub können Sie prozessorintensive Module auf Linux-Geräten bereitstellen, die am IoT Edge ausgeführt werden. GPU-optimierte VM-Größen sind spezielle VMs, die mit einzelnen oder mehreren NVIDIA GPUs verfügbar sind. In diesem Artikel erfahren Sie, wie Sie gpuoptimierte VMs zum Ausführen von rechenintensiven, grafikintensiven und Visualisierungsworkloads verwenden.

Bevor Sie beginnen, benötigen Sie ein Microsoft Entra-Abonnement mit Zugriff auf globale Azure und Azure Stack Hub, eine Azure Container Registry (ACR) und einen IoT-Hub.

In diesem Artikel führen Sie folgende Schritte aus:

  • Installieren Sie eine GPU-fähige Linux-VM, und installieren Sie die richtigen Treiber.
  • Installieren Sie Docker, und aktivieren Sie die GPU in der Laufzeit.
  • Verbinden Sie Ihr IoT-Gerät mit Ihrem iOT Hub, und installieren Sie vom iOT Marketplace das Modell: Getting started with GPUs.
  • Installieren und überwachen Sie Ihr Gerät auf einem lokalen Computer mithilfe des Azure IoT-Explorers.
  • Und optional installieren und überwachen Sie Ihr Gerät mithilfe der Azure IoT-Erweiterung in Visual Studio Code.

Voraussetzungen

Sie müssen über die folgenden Ressourcen in Ihrer Azure Stack Hub-Instanz, globalen Azure und auf Ihrem lokalen Entwicklungscomputer verfügen.

Azure Stack Hub und Azure

  • Ein Abonnement als Benutzer, der die Microsoft Entra-ID in einem integrierten Azure Stack Hub-System mit einer NVIDA-GPU verwendet. Die folgenden Chips arbeiten mit iOT Hub:

    • NCv3
    • NCas_v4

    Weitere Informationen zu GPUs im Azure Stack Hub finden Sie unter GPU-VM (Graphics Processing Unit) auf Azure Stack Hub.

  • Ein globales Azure-Abonnement. Wenn Sie kein globales Azure-Abonnement haben, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

  • Eine Azure-Containerregistrierung (ACR). Notieren Sie sich den ACR-Anmeldeserver, den Benutzernamen und das Kennwort.

  • Ein kostenloser oder standardmäßiger IoT-Hub in globalen Azure.

Ein Entwicklungscomputer

  • Sie können je nach Ihren Entwicklungseinstellungen Ihren eigenen Computer oder einen virtuellen Computer verwenden. Ihr Entwicklungscomputer muss die geschachtelte Virtualisierung unterstützen. Diese Funktion ist für die Ausführung von Docker erforderlich, dem containermodul, das in diesem Artikel verwendet wird.

  • Ihr Entwicklungscomputer benötigt die folgenden Ressourcen:

Registrieren eines IoT Edge-Geräts

Verwenden Sie ein separates Gerät, um Ihr IoT Edge-Gerät zu hosten. Die Verwendung eines separaten Geräts sorgt für eine genaue Trennung zwischen Ihrem Entwicklungscomputer und dem IoT Edge-Gerät, die mit einer genaueren Spiegelung eines Bereitstellungsszenarios einhergeht.

Erstellen Sie ein IoT Edge-Gerät in Azure mit einer Linux-VM:

  1. Erstellen Sie eine N-Serie linux server VM auf Azure Stack Hub. Wenn Sie Komponenten für Ihren Server installieren, interagieren Sie über SSH mit dem Server. Weitere Informationen finden Sie unter Verwenden eines SSH-Schlüsselpaars mit Azure Stack Hub.

  2. Erstellen und Registrieren eines IoT Edge-Geräts

Vorbereiten einer GPU-fähigen VM

  1. Installieren Sie die NVIDA-GPU-Treiber auf Ihrem Linux-Server der N-Serie, indem Sie die Schritte im Artikel ausführen. Installieren Sie NVIDIA GPU-Treiber auf VMs der N-Serie, auf denen Linux ausgeführt wird.

    Hinweis

    Sie verwenden die Bash-Befehlszeile, um Ihre Software zu installieren. Notieren Sie sich die Befehle, da Sie dieselben Befehle verwenden, um die Treiber auf dem Container zu installieren, der in Docker auf Ihrer GPU-fähigen VM ausgeführt wird.

  2. Installieren Sie die neueste IoT Edge-Laufzeit auf Ihrem Linux-Server der N-Serie in Azure Stack Hub. Anweisungen finden Sie unter Installieren der Azure IoT Edge-Laufzeit auf Debian-basierten Linux-Systemen

Installieren von Docker

Installieren Sie Docker auf Ihrer GPU-fähigen VM. Sie werden das Modul aus dem IoT Edge Marketplace in einem Container auf der VM ausführen.

Sie müssen Docker 19.02 oder höher installieren. Die Docker-Runtime unterstützt jetzt die NVIDIA GPUs. Weitere Informationen zu GPUs in Docker finden Sie im Artikel in den Docker-Dokumenten, Laufzeitoptionen mit Arbeitsspeicher, CPUs und GPUs.

Installieren von Docker

Docker-Container können überall lokal im Kundendatencenter, in einem externen Dienstanbieter oder in der Cloud in Azure ausgeführt werden. Docker-Imagecontainer können nativ unter Linux und Windows ausgeführt werden. Windows-Images können jedoch nur auf Windows-Hosts ausgeführt werden und Linux-Images können auf Linux-Hosts und Windows-Hosts (mit einem Hyper-V Linux-VM, bisher) ausgeführt werden, wobei Host ein Server oder eine VM bedeutet. Weitere Informationen finden Sie unter "Was ist Docker?"

  1. Stellen Sie mithilfe Ihres SSH-Clients eine Verbindung mit Ihrem Linux-Server der N-Serie her.

  2. Aktualisieren Sie den apt-Index und die Listen.

    sudo apt-get update
    
  3. Rufen Sie die neuen Versionen vorhandener Pakete auf dem Computer ab.

    sudo apt-get upgrade
    
  4. Installieren Sie Abhängigkeiten, die zum Hinzufügen des apt-Repositorys von Docker erforderlich sind.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Fügen Sie den GPG-Schlüssel von Docker hinzu.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Fügen Sie Dockers apt-Repository hinzu.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Aktualisieren Sie apt Index und Listen, und installieren Sie Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Überprüfen Sie die Installation, indem Sie die Docker-Version überprüfen.

    docker -v
    
  9. Machen Sie die verfügbaren GPU-Ressourcen in Docker verfügbar.

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

Abrufen des Elements vom Marketplace

Kehren Sie zum Azure-Portal zurück, und fügen Sie das Modell mithilfe des iOT Marketplace zu Ihrem Edgegerät hinzu. Wählen Sie im Menü Marketplace-Modul aus. Suchen Sie nach Getting started with GPUs und folgen Sie den Anweisungen, um das Modul hinzuzufügen.

Anweisungen finden Sie unter Auswählen des Geräts und Hinzufügen von Modulen

Überwachung aktivieren

  1. Laden Sie Den Azure IoT-Explorer herunter, und verbinden Sie die Anwendung mit Ihrem IoT Hub.

  2. Wählen Sie Ihr IoT-Gerät aus, und navigieren Sie im Navigationsmenü zu Telemetrie.

  3. Wählen Sie "Start" aus, um mit der Überwachung der Ausgabe vom IoT Edge-Gerät zu beginnen.

eine gültige Installation

Überwachen des Moduls (Optional)

  1. Führen Sie in der Befehlspalette von VS Code Azure IoT Hub aus: IoT Hub auswählen.

  2. Wählen Sie das Abonnement und den IoT-Hub aus, der das IoT Edge-Gerät enthält, das Sie konfigurieren möchten. Wählen Sie in diesem Fall das Abonnement in Ihrer Azure Stack Hub-Instanz aus, und wählen Sie das IoT Edge-Gerät aus, das für Ihren Azure Stack Hub erstellt wurde. Dies geschieht, wenn Sie die Berechnung über das Azure-Portal in den vorherigen Schritten konfigurieren.

  3. Erweitern Sie im VS Code-Explorer den Abschnitt "Azure IoT Hub". Unter "Geräte" sollte das IoT Edge-Gerät angezeigt werden, das Ihrem Azure Stack Hub entspricht.

    1. Wählen Sie dieses Gerät aus, klicken Sie mit der rechten Maustaste, und wählen Sie "Integrierte Ereignisendpunktüberwachung starten" aus.

    2. Wechseln Sie zu "Gerätemodule>", und Ihr GPU-Modul sollte ausgeführt werden.

    3. Das VS Code-Terminal sollte auch die IoT Hub-Ereignisse als Überwachungsausgabe für Ihren Azure Stack Hub anzeigen.

    eine gültige Installation ist

    Sie können sehen, dass die Zeit für die Ausführung derselben Gruppe von Vorgängen (5000 Iterationen der Shape-Transformation) durch GPU viel geringer ist als für die CPU.

Nächste Schritte