Distribuera en GPU-aktiverad IoT-modul på Azure Stack Hub

Med en GPU-aktiverad Azure Stack Hub kan du distribuera processorintensiva moduler till Linux-enheter som körs på IoT Edge. GPU-optimerade VM-storlekar är specialiserade virtuella datorer som är tillgängliga med en eller flera NVIDIA-GPU:er. I den här artikeln lär du dig att använda GPU-optimerade virtuella datorer för att köra beräkningsintensiva, grafikintensiva och visualiseringsarbetsbelastningar.

Innan du börjar behöver du en Microsoft Entra-prenumeration med åtkomst till globala Azure och Azure Stack Hub, en Azure Container Registry (ACR) och en IoT-hubb.

Den här artikeln innehåller följande avsnitt:

  • Installera en GPU-aktiverad virtuell Linux-dator och installera rätt drivrutiner.
  • Installera Docker och aktivera GPU:n i körningen.
  • Anslut din IoT-enhet till din iOT-hubb och installera modellen från iOT Marketplace: Getting started with GPUs.
  • Installera och övervaka enheten från en lokal dator med Hjälp av Azure IoT Explorer.
  • Du kan också installera och övervaka din enhet med hjälp av Azure IoT-tillägget i Visual Studio Code.

Förutsättningar

Du måste ha följande resurser på plats i din Azure Stack Hub-instans, globala Azure och på din lokala utvecklingsdator.

Azure Stack Hub och Azure

En utvecklingsdator

  • Du kan använda din egen dator eller en virtuell dator, beroende på dina utvecklingsinställningar. Utvecklingsdatorn måste ha stöd för kapslad virtualisering. Den här funktionen är nödvändig för att köra Docker, containermotorn som används i den här artikeln.

  • Utvecklingsdatorn behöver följande resurser:

Registrera en IoT Edge-enhet

Använd en separat enhet som värd för din IoT Edge enhet. Om du använder en separat enhet får du en separation mellan utvecklingsdatorn och IoT Edge enheten mer exakt speglar ett distributionsscenario.

Skapa en IoT Edge enhet i Azure med en virtuell Linux-dator:

  1. Skapa en virtuell Linux-serverdator i N-serien på Azure Stack Hub. När du installerar komponenter för servern interagerar du med servern via SSH. Mer information finns i Använda ett SSH-nyckelpar med Azure Stack Hub.

  2. Skapa och registrera en IoT Edge-enhet

Förbereda en GPU-aktiverad virtuell dator

  1. Installera NVIDA GPU-drivrutinerna på din Linux-server i N-serien genom att följa stegen i artikeln Installera NVIDIA GPU-drivrutiner på virtuella datorer i N-serien som kör Linux.

    Anteckning

    Du använder bash-kommandoraden för att installera programvaran. Anteckna kommandona eftersom du använder samma kommandon för att installera drivrutinerna på containern som körs i Docker på den GPU-aktiverade virtuella datorn

  2. Installera den senaste IoT Edge-körningen på linux-servern i N-serien i Azure Stack Hub. Anvisningar finns i Installera Azure IoT Edge-körning på Debian-baserade Linux-system

Installera Docker

Installera Docker på den GPU-aktiverade virtuella datorn. Du ska köra modulen från IoT Edge Marketplace i en container på den virtuella datorn.

Du måste installera Docker 19.02 eller senare. Docker-körningen stöder nu NVIDIA-GPU:er. Mer information om GPU:er i Docker finns i artikeln i Docker-dokument, Körningsalternativ med minne, processorer och GPU:er.

Installera Docker

Docker-containrar kan köras var som helst, lokalt i kundens datacenter, i en extern tjänstleverantör eller i molnet, i Azure. Docker-avbildningscontainrar kan köras internt i Linux och Windows. Windows-avbildningar kan dock endast köras på Windows-värdar och Linux-avbildningar kan köras på Linux-värdar och Windows-värdar (med hjälp av en virtuell Hyper-V Linux-dator hittills), där värden innebär en server eller en virtuell dator. Mer information finns i Vad är Docker?.

  1. Anslut till din Linux-server i N-serien med SSH-klienten.

  2. Uppdatera apt-indexet och -listorna.

    sudo apt-get update
    
  3. Hämta de nya versionerna av befintliga paket på datorn.

    sudo apt-get upgrade
    
  4. Installera beroenden som krävs för att lägga till Docker-apt-lagringsplatsen.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Lägg till Docker GPG-nyckel.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Lägg till Docker-lagringsplatsen apt.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Uppdatera apt-index och listor och installera Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Kontrollera installationen genom att kontrollera Docker-versionen.

    docker -v
    
  9. Exponera tillgängliga GPU-resurser i Docker.

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

Hämta objektet från Marketplace

Gå tillbaka till Azure Portal och lägg till modellen på gränsenheten med iOT Marketplace. Välj Marketplace-modul på menyn. Och sök Getting started with GPUsefter och följ anvisningarna för att lägga till modulen.

Anvisningar finns i Välj enhet och lägga till moduler

Aktivera övervakning

  1. Ladda ned Azure IoT Explorer och anslut programmet till din IoT Hub.

  2. Välj din IoT-enhet och gå till Telemetri på navigeringsmenyn.

  3. Välj Starta för att börja övervaka utdata från IoT Edge-enheten.

en giltig installation

Övervaka modulen (valfritt)

  1. I kommandopaletten i VS Code kör du Azure IoT Hub: Select IoT Hub (Azure IoT Hub: Välj IoT Hub).

  2. Välj den prenumeration och IoT-hubb som innehåller den IoT Edge-enhet som du vill konfigurera. I det här fallet väljer du prenumerationen i din Azure Stack Hub-instans och väljer den IoT Edge enhet som skapats för din Azure Stack Hub. Detta inträffar när du konfigurerar beräkning via Azure Portal i de tidigare stegen.

  3. I VS Code-utforskaren expanderar du avsnittet Azure IoT Hub. Under Enheter bör du se den IoT Edge enhet som motsvarar din Azure Stack Hub.

    1. Välj den enheten, högerklicka och välj Starta övervakning Inbyggd händelseslutpunkt.

    2. Gå till Enhetsmoduler > så bör du se att GPU-modulen körs.

    3. VS Code-terminalen bör också visa IoT Hub händelser som övervakningsutdata för din Azure Stack Hub.

    en giltig installation är

    Du kan se att den tid det tar att köra samma uppsättning åtgärder (5 000 iterationer av formtransformering) av GPU:n är mycket mindre än för CPU.

Nästa steg