Oktatóanyag: IoT Edge-modul konfigurálása, csatlakoztatása és ellenőrzése GPU-hoz
A következőkre vonatkozik: IoT Edge 1.5 IoT Edge 1.4
Fontos
Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.
Ez az oktatóanyag bemutatja, hogyan hozhat létre GPU-kompatibilis virtuális gépet (VM). A virtuális gépből megtudhatja, hogyan futtathat egy IoT Edge-eszközt, amely az egyik modulból a GPU-hoz rendeli a munkát.
Az Azure Portalt, az Azure Cloud Shellt és a virtuális gép parancssorát a következőre fogjuk használni:
- GPU-kompatibilis virtuális gép létrehozása
- Az NVIDIA illesztőprogram-bővítmény telepítése a virtuális gépen
- Modul konfigurálása IoT Edge-eszközön a gpu-nak való munka lefoglalásához
Előfeltételek
Azure-fiók – ingyenes fiók létrehozása
Azure IoT Hub – IoT Hub létrehozása
Azure IoT Edge-eszköz
Ha még nem rendelkezik IoT Edge-eszközzel, és gyorsan létre kell hoznia egyet, futtassa a következő parancsot. Használja az Azure Portalon található Azure Cloud Shellt . Hozzon létre egy új eszköznevet,
<DEVICE-NAME>
és cserélje le az IoT-t<IOT-HUB-NAME>
a saját nevére.az iot hub device-identity create --device-id <YOUR-DEVICE-NAME> --edge-enabled --hub-name <YOUR-IOT-HUB-NAME>
További információ az IoT Edge-eszközök létrehozásáról: Rövid útmutató: Az első IoT Edge-modul üzembe helyezése virtuális Linux-eszközön. Az oktatóanyag későbbi részében hozzáadunk egy NVIDIA-modult az IoT Edge-eszközhöz.
GPU-ra optimalizált virtuális gép létrehozása
GPU-ra optimalizált virtuális gép (VM) létrehozásához fontos a megfelelő méret kiválasztása. Nem minden virtuálisgép-méret alkalmas GPU-feldolgozásra. Emellett különböző virtuálisgép-méretek is vannak a különböző számítási feladatokhoz. További információ: GPU-optimalizált virtuálisgép-méretek , vagy próbálja ki a Virtuális gépek választót.
Hozzunk létre egy IoT Edge virtuális gépet az Azure Resource Manager (ARM) sablonnal a GitHubon, majd konfiguráljuk GPU-optimalizáltra.
Nyissa meg az IoT Edge virtuálisgép-üzembehelyezési sablont a GitHubon: Azure/iotedge-vm-deploy.
Válassza az Üzembe helyezés az Azure-ban gombot, amely egyéni virtuális gép létrehozását kezdeményezi az Azure Portalon.
Töltse ki az egyéni üzembehelyezési mezőket az Azure-beli hitelesítő adatokkal és erőforrásokkal:
Tulajdonság Leírás vagy mintaérték Előfizetés Válassza ki Az Azure-fiók előfizetését. Erőforráscsoport Adja hozzá az Azure-erőforráscsoportot. Régió East US
A GPU virtuális gépek nem minden régióban érhetők el.DNS-címke előtagja Hozzon létre egy nevet a virtuális gépnek. Rendszergazdai felhasználónév adminUser
Másik lehetőségként hozzon létre saját felhasználónevet.Eszközkapcsolati sztring Másolja a kapcsolati sztring az IoT Edge-eszközről, majd illessze be ide. Virtuális gép mérete Standard_NV6
Hitelesítés típusa Válassza a jelszót vagy az SSH nyilvános kulcsát, majd szükség esetén hozzon létre egy jelszót vagy kulcspárnevet. Tipp.
Ellenőrizze, hogy az egyes régiókban mely GPU-virtuális gépek támogatottak: régiónként elérhető termékek.
Ha ellenőrizni szeretné, hogy az Azure-előfizetés melyik régiót engedélyezi, próbálja ki ezt az Azure-parancsot az Azure Portalon.
Standard_N
EzN
azt jelenti, hogy gpu-kompatibilis virtuális gép.az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output table
Kattintson az alul található Véleményezés + létrehozás gombra, majd a Létrehozás gombra. Az üzembe helyezés akár egy percet is igénybe vehet.
Az NVIDIA-bővítmény telepítése
Most, hogy gpu-ra optimalizált virtuális gépünk van, telepítsük az NVIDIA-bővítményt a virtuális gépre az Azure Portal használatával.
Nyissa meg a virtuális gépet az Azure Portalon, és a bal oldali menüben válassza a Bővítmények + alkalmazások lehetőséget.
Válassza a Hozzáadás lehetőséget, és válassza ki a listából az NVIDIA GPU-illesztőbővítményt, majd válassza a Tovább gombot.
Válassza a Véleményezés+ létrehozás, majd a Létrehozás lehetőséget. Az üzembe helyezés akár 30 percet is igénybe vehet.
Az Azure Portalon történő telepítés megerősítéséhez térjen vissza a virtuális gép Bővítmények + alkalmazások menüjébe. Az új elnevezett
NvidiaGpuDriverLinux
bővítménynek szerepelnie kell a bővítmények listájában, és az Állapot csoportban meg kell jelennie a sikeres üzembe helyezésnek.Az Azure Cloud Shell használatával történő telepítés megerősítéséhez futtassa ezt a parancsot a bővítmények listázásához. Cserélje le a
<>
helyőrzőket az értékekre:az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o table
Egy NVIDIA-modullal az NVIDIA Rendszerfelügyeleti felület programot fogjuk használni, más néven
nvidia-smi
.Az eszközről telepítse a csomagot az
nvidia-smi
Ubuntu-verzió alapján. Ebben az oktatóanyagban az Ubuntu 20.04-et fogjuk telepíteninvidia-utils-515
. Válassza kiY
, amikor a rendszer kéri a telepítést.sudo apt install nvidia-utils-515
Az alábbi lista az összes
nvidia-smi
verziót tartalmazza. Ha az első telepítés nélkül futnvidia-smi
, ez a lista a konzolon jelenik meg.A telepítés után futtassa ezt a parancsot a telepítés megerősítéséhez:
nvidia-smi
Ekkor megjelenik egy megerősítést kérő tábla, hasonlóan ehhez a táblához.
Feljegyzés
Az NVIDIA-bővítmény leegyszerűsíti az NVIDIA-illesztőprogramok telepítését, de előfordulhat, hogy további testreszabásra van szüksége. További információ az N sorozatú virtuális gépek egyéni telepítéseiről: NVIDIA GPU-illesztőprogramok telepítése Linux rendszerű N sorozatú virtuális gépekre.
Modul engedélyezése GPU-gyorsítással
Az IoT Edge-modulok különböző módokon engedélyezve vannak, így gpu-t használnak a feldolgozáshoz. Ennek egyik módja egy meglévő IoT Edge-modul konfigurálása az eszközön gpu-gyorsításra. Egy másik módszer egy előre gyártott tárolómodul használata, például egy nvidia DIGITS-modul, amely már GPU-ra van optimalizálva. Nézzük meg, hogyan történik mindkét módszer.
GPU engedélyezése meglévő modulban a DeviceRequests használatával
Ha rendelkezik egy meglévő modullal az IoT Edge-eszközön, az üzembehelyezési jegyzékben createOptions
szereplő DeviceRequests
konfiguráció hozzáadása a modul GPU-optimalizálását teszi lehetővé. Meglévő modul konfigurálásához kövesse az alábbi lépéseket.
Nyissa meg az IoT Hubot az Azure Portalon, és válassza az Eszközök lehetőséget az Eszközfelügyelet menüben.
A megnyitáshoz válassza ki az IoT Edge-eszközt.
Válassza felül a Modulok beállítása lapot.
Válassza ki a GPU-használathoz engedélyezni kívánt modult az IoT Edge-modulok listájában.
Megnyílik egy oldalpanel, és válassza a Tároló létrehozása beállításai lapot.
Másolja ki ezt a JSON-sztringet
HostConfig
, és illessze be a Létrehozási beállítások mezőbe.{ "HostConfig": { "DeviceRequests": [ { "Count": -1, "Capabilities": [ [ "gpu" ] ] } ] } }
Válassza a Frissítés lehetőséget.
Válassza az Áttekintés + létrehozás lehetőséget. Az új
HostConfig
objektum most már látható asettings
modulban.Válassza a Létrehozás lehetőséget.
Az új konfiguráció működésének ellenőrzéséhez futtassa ezt a parancsot a virtuális gépen:
sudo docker inspect <YOUR-MODULE-NAME>
A konzol JSON-nyomtatásában meg kell jelennie a megadott paramétereknek
DeviceRequests
.
Feljegyzés
A DeviceRequests
paraméter jobb megértéséhez tekintse meg a forráskódot: moby/host_config.go
GPU engedélyezése előre gyártott NVIDIA-modulban
Adjunk hozzá egy NVIDIA DIGITS-modult az IoT Edge-eszközhöz, majd foglaljunk le egy GPU-t a modulhoz a környezeti változók beállításával. Ez az NVIDIA-modul már egy Docker-tárolóban van.
Válassza ki az IoT Edge-eszközt az Azure Portalon az IoT Hub Eszközök menüjében.
Válassza felül a Modulok beállítása lapot.
Válassza a + Hozzáadás lehetőséget az IoT Edge-modulok címsorában, és válassza az IoT Edge-modult.
Adjon meg egy nevet az IoT Edge-modul neve mezőben.
A Modul beállításai lapon adja hozzá
nvidia/digits:6.0
a Kép URI mezőjét.Válassza a Környezeti változók lapot.
Adja hozzá a környezeti változó nevét
NVIDIA_VISIBLE_DEVICES
az értékkel0
. Ez a változó szabályozza, hogy mely GPU-k láthatók a peremeszközön futó tárolóalapú alkalmazás számára. ANVIDIA_VISIBLE_DEVICES
környezeti változó beállítható az eszközazonosítók vesszővel tagolt listájára, amely megfelel a rendszerben lévő fizikai GPU-knak. Ha például két GPU van a rendszerben 0 és 1 eszközazonosítóval, a változó "NVIDIA_VISIBLE_DEVICES=0,1" értékre állítható be, hogy mindkét GPU látható legyen a tároló számára. Ebben a cikkben, mivel a virtuális gép csak egy GPU-val rendelkezik, az elsőt (és csak) használjuk.Név Típus Érték NVIDIA_VISIBLE_DEVICES Szöveg 0 Válassza a Hozzáadás lehetőséget.
Válassza az Áttekintés + létrehozás lehetőséget. Megjelennek az üzembehelyezési jegyzék tulajdonságai.
Válassza a Létrehozás lehetőséget a modul létrehozásához.
Válassza a Frissítés lehetőséget a modullista frissítéséhez. A modul futásideje néhány percet vesz igénybe, ezért frissítse az eszközt.
Az eszközről futtassa ezt a parancsot, és győződjön meg arról, hogy az új NVIDIA-modul létezik és fut.
iotedge list
Az NVIDIA-modulnak az IoT Edge-eszközön található modulok listájában kell megjelennie
running
, amelynek állapota : .
Feljegyzés
Az NVIDIA DIGITS tárolómodullal kapcsolatos további információkért tekintse meg a Deep Learning Digits dokumentációját.
Az erőforrások eltávolítása
Ha folytatni szeretné a többi IoT Edge-oktatóanyagot, használhatja az oktatóanyaghoz létrehozott eszközt. Ellenkező esetben törölheti a létrehozott Azure-erőforrásokat a díjak elkerülése érdekében.
Ha a virtuális gépet és az IoT Hubot egy új erőforráscsoportban hozta létre, törölheti azt a csoportot, amely az összes társított erőforrást törli. Ellenőrizze duplán az erőforráscsoport tartalmát, és győződjön meg arról, hogy semmit sem szeretne megtartani. Ha nem szeretné törölni a teljes csoportot, törölheti az egyes erőforrásokat (virtuális gép, eszköz vagy GPU-modul).
Fontos
Az erőforráscsoport törlése nem vonható vissza.
Az Azure-erőforráscsoport eltávolításához használja az alábbi parancsot. Egy erőforráscsoport törlése eltarthat néhány percig.
az group delete --name <YOUR-RESOURCE-GROUP> --yes
Az erőforráscsoport eltávolítását az erőforráscsoportok listájának megtekintésével ellenőrizheti.
az group list
Következő lépések
Ez a cikk segített beállítani a virtuális gépet és az IoT Edge-eszközt GPU-gyorsításra. Ha hasonló beállítással szeretne futtatni egy alkalmazást, próbálja ki az NVIDIA DeepStream-fejlesztés képzési tervét a Microsoft Azure-ral. A Learn oktatóanyag bemutatja, hogyan fejleszthet optimalizált intelligens videoalkalmazásokat, amelyek több video-, kép- és hangforrást is használhatnak.