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. VM-grootten die zijn geoptimaliseerd voor GPU 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 rekenintensief, grafisch-intensief en visualisatieworkloads kunt uitvoeren.
Voordat u begint, hebt u een Azure Active Directory (Azure AD)-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.
- Verbinding maken uw IoT-apparaat naar uw iOT Hub en installeert u het model vanuit de iOT Marketplace:
Getting started with GPUs. - Installeer en bewaak uw apparaat vanaf een lokale computer met behulp van Azure IoT Explorer.
- 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 abonnement als gebruiker die Azure Active Directory (Azure AD) gebruikt in een geïntegreerd Azure Stack Hub-systeem met een NVIDA GPU. De volgende chips werken met iOT Hub:
- NCv3
- NCas_v4
Zie GPU-VM (Graphics Processing Unit) in Azure Stack Hub voor meer informatie over GPU's in Azure Stack Hub.
Een globaal Azure-abonnement. Als u geen globaal Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Een Azure Container Registry (ACR). Noteer de ACR-aanmeldingsserver, gebruikersnaam en wachtwoord.
Een gratis Of Standard-laag IoT-hub in wereldwijde Azure.
Een ontwikkelcomputer
U kunt uw eigen computer of een virtuele machine gebruiken, afhankelijk van uw ontwikkelvoorkeuren. Uw ontwikkelcomputer moet geneste virtualisatie ondersteunen. Deze mogelijkheid is nodig voor het uitvoeren van Docker, de containerengine die in dit artikel wordt gebruikt.
Uw ontwikkelcomputer heeft de volgende resources nodig:
- Python 3.x
- Pip voor het installeren van Python-pakketten. Dit is geïnstalleerd met uw Python-installatie. Als Pip is geïnstalleerd, kunt u upgraden naar de nieuwste versie. U kunt upgraden met pip, zelf. Type:
pip install --upgrade pip. - Azure CLI 2.0
- Git
- Docker
- Visual Studio Code
- Azure IoT Tools voor Visual Studio code
- Python-extensiepakket voor Visual Studio Code
Een IoT Edge-apparaat registreren
Gebruik een afzonderlijk apparaat om uw IoT Edge apparaat te hosten. Als u een afzonderlijk apparaat gebruikt, wordt een scheiding tussen uw ontwikkelcomputer en IoT Edge apparaat nauwkeuriger een implementatiescenario gespiegeld.
Maak een IoT Edge-apparaat in Azure met een Virtuele Linux-machine:
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.
Een VM met GPU voorbereiden
Installeer de NVIDA GPU-stuurprogramma's op uw Linux-server uit de N-serie door de stappen in het artikel te volgen, NVIDIA GPU-stuurprogramma's installeren op VM's uit de N-serie waarop Linux wordt uitgevoerd.
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 in de container die wordt uitgevoerd in Docker op uw VM met GPU
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 VIRTUELE machine.
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, on-premises worden uitgevoerd in het datacenter van de klant, in een externe serviceprovider of in de cloud, in Azure. Docker-installatiekopieëncontainers kunnen systeemeigen worden uitgevoerd op 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 behulp van een Hyper-V Linux-VM, tot nu toe), waarbij de host een server of een VM betekent. Zie Wat is Docker?voor meer informatie.
Verbinding maken naar uw Linux-server uit de N-serie met behulp van uw SSH-client.
Werk de apt-index en -lijsten bij.
sudo apt-get updateHaal de nieuwe versies van bestaande pakketten op de computer op.
sudo apt-get upgradeInstalleer 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-commonVoeg de GPG-sleutel van Docker toe.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Voeg de apt-opslagplaats van Docker toe.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"Werk apt-index en -lijsten bij en installeer Docker Community Edition.
sudo apt-get update sudo apt-get install docker-ceControleer de installatie door de Docker-versie te controleren.
docker -vMaak 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. Getting started with GPUsZoek en volg de instructies om de module toe te voegen.
Zie Apparaat selecteren en modules toevoegen voor instructies
Bewaking inschakelen
Download Azure IoT Explorer en verbind de toepassing met uw IoT Hub.
Selecteer uw IoT-apparaat en navigeer naar Telemetrie in het navigatiemenu.
Selecteer Starten om de uitvoer van het IoT Edge apparaat te controleren.

De module bewaken (optioneel)
Voer in het opdrachtenpalet van VS Code de opdracht Azure IoT Hub: Select IoT Hub uit.
Kies het abonnement en de IoT-hub met het IoT Edge-apparaat dat u wilt configureren. Selecteer in dit geval het abonnement in uw Azure Stack Hub-exemplaar en selecteer het IoT Edge apparaat dat is gemaakt voor uw Azure Stack Hub. Dit gebeurt wanneer u rekenkracht configureert via de Azure Portal in de eerdere stappen.
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.
Selecteer dat apparaat, klik met de rechtermuisknop en selecteer Bewaking ingebouwd gebeurteniseindpunt starten.
Ga naar Apparatenmodules > en u ziet dat de GPU-module wordt uitgevoerd.
In de VS Code-terminal moeten ook de IoT Hub gebeurtenissen worden weergegeven als de bewakingsuitvoer voor uw Azure Stack Hub.

U kunt zien dat de tijd die nodig is voor het uitvoeren van dezelfde set bewerkingen (5000 iteraties van shapetransformaties) per GPU veel kleiner is dan voor CPU.
Volgende stappen
Meer informatie over grafische verwerkingseenheid (GPU) virtuele machine (VM) in Azure Stack Hub
Meer informatie over Azure Stack Hub, Data Box Edge en intelligent Edge, de toekomst van computing: intelligente cloud en intelligente edge
Meer informatie over hybride cloudtoepassingen, zie Hybride cloudoplossingen