Een IoT-module met GPU implementeren in Azure Stack Hub

Met een Azure Stack Hub met GPU kunt u processorintensieve modules implementeren op Linux-apparaten die worden uitgevoerd op de IoT Edge. VOOR GPU geoptimaliseerde VM-grootten zijn gespecialiseerde VM's die beschikbaar zijn met één of meerdere NVIDIA-GPU's. In dit artikel leert u hoe u met GPU geoptimaliseerde VM's kunt gebruiken om rekenintensieve, grafisch intensieve en visualisatieworkloads uit te voeren.

Voordat u begint, hebt u een Microsoft Entra-abonnement nodig met toegang tot wereldwijde Azure en Azure Stack Hub, een Azure Container Registry (ACR) en een IoT-hub.

In dit artikel leert u het volgende:

  • Installeer een LINUX-VM met GPU en installeer de juiste stuurprogramma's.
  • Installeer Docker en schakel de GPU in de runtime in.
  • Verbind uw IoT-apparaat met uw iOT Hub en installeer vanuit de iOT Marketplace het model: Getting started with GPUs.
  • Installeer en bewaak uw apparaat vanaf een lokale computer met behulp van Azure IoT Explorer.
  • En u kunt uw apparaat desgewenst installeren en bewaken met behulp van de Azure IoT-extensie in Visual Studio Code.

Vereisten

U moet beschikken over de volgende resources in uw Azure Stack Hub-exemplaar, globale Azure en op uw lokale ontwikkelcomputer.

Azure Stack Hub en Azure

Een ontwikkelcomputer

  • U kunt uw eigen computer of een virtuele machine gebruiken, afhankelijk van uw ontwikkelvoorkeuren. Uw ontwikkelcomputer moet ondersteuning bieden voor geneste virtualisatie. Deze mogelijkheid is nodig voor het uitvoeren van Docker, de container-engine die in dit artikel wordt gebruikt.

  • Uw ontwikkelcomputer heeft de volgende resources nodig:

Een IoT Edge-apparaat registreren

Gebruik een afzonderlijk apparaat om uw IoT Edge-apparaat te hosten. Het gebruik van een afzonderlijk apparaat biedt een scheiding tussen uw ontwikkelcomputer en IoT Edge apparaat nauwkeuriger een implementatiescenario weerspiegelt.

Een IoT Edge-apparaat maken in Azure met een Virtuele Linux-machine:

  1. Maak een virtuele Linux-server uit de N-serie in Azure Stack Hub. Wanneer u onderdelen voor uw server installeert, communiceert u met de server via SSH. Zie Een SSH-sleutelpaar gebruiken met Azure Stack Hub voor meer informatie.

  2. Een IoT Edge-apparaat maken en registreren

Een VM met GPU voorbereiden

  1. Installeer de NVIDA GPU-stuurprogramma's op uw Linux-server uit de N-serie door de stappen in het artikel NVIDIA GPU-stuurprogramma's installeren op N-serie-VM's met Linux te volgen.

    Notitie

    U gebruikt de bash-opdrachtregel om uw software te installeren. Noteer de opdrachten, omdat u dezelfde opdrachten gebruikt om de stuurprogramma's te installeren op de container die wordt uitgevoerd in Docker op uw VM met GPU

  2. Installeer de nieuwste IoT Edge runtime op uw Linux-server uit de N-serie in Azure Stack Hub. Zie De Azure IoT Edge-runtime installeren op Linux-systemen op basis van Debian voor instructies.

Docker installeren

Installeer Docker op uw VM met GPU. U gaat de module uitvoeren vanuit de IoT Edge Marketplace in een container op de VM.

U moet Docker 19.02 of hoger installeren. De Docker-runtime ondersteunt nu de NVIDIA GPU's. Zie het artikel in de Docker-documenten Runtime-opties met geheugen, CPU's en GPU's voor meer informatie over GPU's in Docker.

Docker installeren

Docker-containers kunnen overal worden uitgevoerd, on-premises in het datacenter van de klant, in een externe serviceprovider of in de cloud, in Azure. Docker-installatiekopieën kunnen systeemeigen worden uitgevoerd in Linux en Windows. Windows-installatiekopieën kunnen echter alleen worden uitgevoerd op Windows-hosts en Linux-installatiekopieën kunnen worden uitgevoerd op Linux-hosts en Windows-hosts (met een Hyper-V Linux-VM, tot nu toe), waarbij host een server of een VM betekent. Zie Wat is Docker? voor meer informatie.

  1. Maak verbinding met uw Linux-server uit de N-serie met behulp van uw SSH-client.

  2. Werk de apt-index en -lijsten bij.

    sudo apt-get update
    
  3. Haal de nieuwe versies van bestaande pakketten op de computer op.

    sudo apt-get upgrade
    
  4. Installeer afhankelijkheden die vereist zijn om de apt-opslagplaats van Docker toe te voegen.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Voeg de GPG-sleutel van Docker toe.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Voeg de apt-opslagplaats van Docker toe.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Werk de apt-index en -lijsten bij en installeer Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Controleer de installatie door de Docker-versie te controleren.

    docker -v
    
  9. Maak de beschikbare GPU-resources beschikbaar in Docker.

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

Het item ophalen uit de marketplace

Ga terug naar de Azure Portal en voeg het model toe aan uw edge-apparaat met behulp van de iOT Marketplace. Selecteer Marketplace-module in het menu. Zoek naar Getting started with GPUsen volg de instructies om de module toe te voegen.

Zie Apparaat selecteren en modules toevoegen voor instructies

Bewaking inschakelen

  1. Download Azure IoT Explorer en verbind de toepassing met uw IoT Hub.

  2. Selecteer uw IoT-apparaat en navigeer naar Telemetrie in het navigatiemenu.

  3. Selecteer Start om te beginnen met het bewaken van de uitvoer van het IoT Edge Apparaat.

een geldige installatie

De module bewaken (optioneel)

  1. Voer in het opdrachtenpalet van VS Code de opdracht Azure IoT Hub: Select IoT Hub uit.

  2. Kies het abonnement en de IoT-hub met het IoT Edge-apparaat dat u wilt configureren. In dit geval selecteert u het abonnement in uw Azure Stack Hub-exemplaar en selecteert u het IoT Edge apparaat dat is gemaakt voor uw Azure Stack Hub. Dit gebeurt wanneer u berekening configureert via de Azure Portal in de eerdere stappen.

  3. Vouw in VS Code Explorer de sectie Azure IoT Hub uit. Onder Apparaten ziet u het IoT Edge apparaat dat overeenkomt met uw Azure Stack Hub.

    1. Selecteer dat apparaat, klik met de rechtermuisknop en selecteer Bewaking van ingebouwd gebeurteniseindpunt starten.

    2. Ga naar ApparatenModules>. Als het goed is, ziet u dat uw GPU-module wordt uitgevoerd.

    3. De VS Code-terminal moet ook de IoT Hub-gebeurtenissen weergeven als bewakingsuitvoer voor uw Azure Stack Hub.

    een geldige installatie is

    U kunt zien dat de tijd die nodig is om dezelfde set bewerkingen (5000 iteraties van shapetransformatie) per GPU uit te voeren, veel minder is dan voor CPU.

Volgende stappen