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 prenumeration som en användare som använder Microsoft Entra-ID i ett Azure Stack Hub-integrerat system med en NVIDA GPU. Följande marker fungerar med iOT Hub:
- NCv3
- NCas_v4
Mer information om GPU:er på Azure Stack Hub finns i Vm med grafikprocessorer (GPU) på Azure Stack Hub.
En global Azure-prenumeration. Om du inte har en global Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
En Azure Container Registry (ACR). Anteckna ACR-inloggningsservern, användarnamnet och lösenordet.
En kostnadsfri IoT-hubb eller en IoT-hubb på standardnivå i globala 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:
- Python 3.x
-
Pip för att installera Python-paket. Detta har installerats med Python-installationen. Om du har Pip installerat kanske du vill uppgradera till den senaste versionen. Du kan uppgradera med pip. Typ:
pip install --upgrade pip
. - Azure CLI 2.0
- Git
- Docker
- Visual Studio Code
- Azure IoT Tools för Visual Studio Code
- Python-tilläggspaket för Visual Studio Code
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:
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.
Förbereda en GPU-aktiverad virtuell dator
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
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?.
Anslut till din Linux-server i N-serien med SSH-klienten.
Uppdatera apt-indexet och -listorna.
sudo apt-get update
Hämta de nya versionerna av befintliga paket på datorn.
sudo apt-get upgrade
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
Lägg till Docker GPG-nyckel.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Lägg till Docker-lagringsplatsen apt.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Uppdatera apt-index och listor och installera Docker Community Edition.
sudo apt-get update sudo apt-get install docker-ce
Kontrollera installationen genom att kontrollera Docker-versionen.
docker -v
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 GPUs
efter och följ anvisningarna för att lägga till modulen.
Anvisningar finns i Välj enhet och lägga till moduler
Aktivera övervakning
Ladda ned Azure IoT Explorer och anslut programmet till din IoT Hub.
Välj din IoT-enhet och gå till Telemetri på navigeringsmenyn.
Välj Starta för att börja övervaka utdata från IoT Edge-enheten.
Övervaka modulen (valfritt)
I kommandopaletten i VS Code kör du Azure IoT Hub: Select IoT Hub (Azure IoT Hub: Välj IoT Hub).
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.
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.
Välj den enheten, högerklicka och välj Starta övervakning Inbyggd händelseslutpunkt.
Gå till Enhetsmoduler > så bör du se att GPU-modulen körs.
VS Code-terminalen bör också visa IoT Hub händelser som övervakningsutdata för din Azure Stack Hub.
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
Läs mer om den virtuella GPU-datorn (Graphics Processing Unit) på Azure Stack Hub
Läs mer om Azure Stack Hub, Data Box Edge och Intelligent Edge, Framtidens databehandling: intelligent moln och intelligent edge
Läs mer om hybridmolnprogram i Hybrid Cloud Solutions