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 abonnement als gebruiker die Microsoft Entra-id gebruikt in een geïntegreerd Azure Stack Hub-systeem met een NVIDA GPU. De volgende chips werken met iOT Hub:
- NCv3
- NCas_v4
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, de gebruikersnaam en het wachtwoord.
Een gratis ioT-hub of een Standaard-laag in wereldwijde 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:
- Python 3.x
-
Pip voor het installeren van Python-pakketten. Dit is geïnstalleerd met uw Python-installatie. Als u Pip hebt geïnstalleerd, kunt u een upgrade uitvoeren naar de nieuwste versie. U kunt upgraden met behulp van 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. 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:
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 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
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.
Maak verbinding met uw Linux-server uit de N-serie met behulp van uw SSH-client.
Werk de apt-index en -lijsten bij.
sudo apt-get update
Haal de nieuwe versies van bestaande pakketten op de computer op.
sudo apt-get upgrade
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
Voeg 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 de apt-index en -lijsten bij en installeer Docker Community Edition.
sudo apt-get update sudo apt-get install docker-ce
Controleer de installatie door de Docker-versie te controleren.
docker -v
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 GPUs
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 Start om te beginnen met het bewaken van de uitvoer van het IoT Edge Apparaat.
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. 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.
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 van ingebouwd gebeurteniseindpunt starten.
Ga naar ApparatenModules>. Als het goed is, ziet u dat uw GPU-module wordt uitgevoerd.
De VS Code-terminal moet ook de IoT Hub-gebeurtenissen weergeven als bewakingsuitvoer voor uw Azure Stack Hub.
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
Meer informatie over GPU (Graphics Processing Unit) 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
Zie Hybride cloudoplossingen voor meer informatie over hybride cloudtoepassingen